如何在matlab定义函数中定义参数的数据类型 matlab在定义函数时,输入和输出的参数名可否相同

matlab\u4e2d\u5982\u4f55\u4ee5\u51fd\u6570\u4e3a\u53c2\u6570\u5b9a\u4e49\u51fd\u6570\u6587\u4ef6

\u76f4\u63a5\u628af\u4f5c\u4e3a\u51fd\u6570\u7684\u53c2\u6570\u65e2\u53ef\u4ee5\u3002
1\u3001f.m
function y = f(n) y = n^2;end2\u3001demo.m
function y = demo(f) y=f(40)/(f(30)-f(20))end3\u3001\u5728\u547d\u4ee4\u7a97\u53e3\u8c03\u7528\uff1a
>> demo(@f)ans = 3.2000

\u4e00\u822c\u51fd\u6570\u5b9a\u4e49\u53ef\u4ee5\u6709\u591a\u4e2a\u8f93\u5165\u53c2\u6570\u800c\u53ea\u80fd\u6709\u4e00\u4e2a\u8f93\u51fa\u91cf\uff0c\u4f46Matlab\u4e0d\u540c\uff0c\u51fd\u6570\u53ef\u4ee5\u6709\u591a\u4e2a\u8f93\u51fa\u503c\u3002
\u5728Matlab\u4e2d\u4f7f\u7528\u51fd\u6570\uff0c\u5f53\u51fd\u6570\u6709\u591a\u4e2a\u8fd4\u56de\u503c\u65f6\uff0c\u5e94\u7528\u201c[ ]\u201d\u628a\u5b83\u4eec\u62ec\u8d77\u6765\uff0c\u5982[ouput1,ouput2]=function(...)\uff1b\u800c\u51fd\u6570\u7684\u8f93\u5165\u53c2\u6570\u7684\u683c\u5f0f\u4e8e\u5176\u4ed6\u8bed\u8a00\u76f8\u540c\uff0c\u7528\u201c\uff08\uff09\u201d\u628a\u5404\u53c2\u6570\u5305\u542b\u8d77\u6765\uff0c\u5982ouput=function(argument1,argument2,argument3)\u3002

出现这个错误可能是你的自定义函数并没有加入matlab默认的搜索范围
可以试试看
在主界面中 file->set path->add folder
将你存储这个函数的文件夹添加进去
再试试看调用这个函数

直接把f作为函数的参数既可以。
1、f.m
function
y
=
f(n)
y
=
n^2;end2、demo.m
function
y
=
demo(f)
y=f(40)/(f(30)-f(20))end3、在命令窗口调用:
>>
demo(@f)ans
=
3.2000

  • 濡備綍鍦╩atlab瀹氫箟鍑芥暟涓瀹氫箟鍙傛暟鐨勬暟鎹被鍨
    绛旓細鍙互璇曡瘯鐪 鍦ㄤ富鐣岄潰涓 file->set path->add folder 灏嗕綘瀛樺偍杩欎釜鍑芥暟鐨勬枃浠跺す娣诲姞杩涘幓 鍐嶈瘯璇曠湅璋冪敤杩欎釜鍑芥暟
  • 鍦╩atlab涓,濡備綍瀹氫箟鍑芥暟寮忓瓙涓殑鏈煡甯告暟銆
    绛旓細1銆佸厛鎵撳紑MATLAB杞欢锛屽湪宸︿笂鏂规墦寮New M-File鏂板缓M鏂囦欢銆2銆佸湪绐楀彛涓緭鍏ョ畝鍗曞畾涔夊嚱鏁帮紝骞跺畾涔夊嚱鏁板悕涓簃y锛堝嚱鏁板悕鍙互鑷彇锛夈3銆佸湪灞忓箷涓婅緭鍏ワ細function f=my(x)锛宖=2*x+1锛岀劧鍚庝繚瀛樸4銆丮鏂囦欢闇瑕佷繚瀛樺埌Work鏂囦欢澶癸紝骞跺懡鍚嶄负my.m銆5銆侀殢鍚庡彲浠ョ湅鍒板湪MATLAB涓荤晫闈㈠乏杈瑰浜嗕竴涓猰y.m鏂囦欢銆6銆...
  • 鍦∕ATLAB涓濡備綍瀹氫箟涓涓鍑芥暟?
    绛旓細8銆3銆佺涓绉嶅彲鑳 鍦ㄥ懡浠ょ獥鍙e畾涔変簡鍑芥暟锛屾柊寤轰竴涓猣ungry1.m鏂囦欢 鎶奻ungry1鍑芥暟鏀惧埌杩欓噷瀹氫箟銆9銆佺浜岀鍙兘 璋冪敤fungry1鍑芥暟鏍煎紡涓嶅锛屾敼涓篏M1=fungry1銆10銆佸嚱鏁扮殑鏂囦欢閲岄潰鍙互宓屽瀹氫箟鍑芥暟銆11銆佷綘鎶夾HPInit1閭d釜鍑芥暟浠g爜鎷垮嚭鏉ュ崟鐙啓涓涓狝HPInit1.m鏂囦欢锛屽苟鍜孶ntitled2.m淇濆瓨鍦ㄥ悓涓鐩綍涓嬨
  • matlab鎬庝箞瀹氫箟鍑芥暟
    绛旓細鍏蜂綋濡備笅锛氶氳繃inline鍑芥暟瀹氫箟鍑芥暟锛屾墦寮matlab锛屽湪鍛戒护琛岀獥鍙d腑杈撳叆鈥渇=inline('5*x+1'锛'x')鈥濓紝鎸夊洖杞﹂敭鍒涘缓f(x)=5鍖垮悕鍑芥暟瀹氫箟鍦ㄥ懡浠よ绐楀彛涓緭鍏モ渇=@(x)5*x+3鈥濓紝鎸夊洖杞﹂敭瀹氫箟鍑芥暟f=@(x)5*x+3锛屽垱寤簃鍑芥暟鍦╩atlab涓偣鍑绘柊寤猴紝閫夋嫨鍑芥暟锛屽彲浠ョ湅鍒板凡鍒涘缓浜唌鍑芥暟锛屽彲鍦ㄨ剼鏈枃浠朵腑璋冪敤...
  • matlab涓庝箞瀹氫箟涓涓鍑芥暟?
    绛旓細鏂规硶锛1銆佸嚱鏁版枃浠+璋冪敤鍑芥暟鏂囦欢锛氬畾涔夊涓狹鏂囦欢锛涜皟鐢ㄥ嚱鏁版枃浠:myfile.m clear clc for t=1:10 y=mylfg(t);fprintf(鈥楳^(1/3)=%6.4f\n鈥,t,y);end 鑷畾涔夊嚱鏁版枃浠: mylfg.m function y=mylfg(x) %娉ㄦ剰锛氬嚱鏁板悕锛坢ylfg锛夊繀椤讳笌鏂囦欢鍚嶏紙mylfg.m锛変竴鑷 Y=x^(1/3);娉細杩欑鏂规硶...
  • MATLAB涓浣曚娇鐢鐢ㄦ埛鑷瀹氫箟鍑芥暟?
    绛旓細鐢ㄦ埛鑷瀹氫箟鐨鍑芥暟闇瑕佹斁鍦╬ath璺緞涓嬶紝鎴栬呭綋鍓嶆枃浠跺す涓嬨
  • matlab濡備綍瀹氫箟鍑芥暟
    绛旓細matlab濡備綍瀹氫箟鍑芥暟锛1銆侀鍏堟墦寮杞欢锛屽湪鈥滄柊寤衡濅腑鍒涘缓涓涓嚱鏁般2銆佺劧鍚庡畾涔変竴涓猼est鍑芥暟锛岃緭鍏ュ浘涓殑鏁版嵁锛宼est鏄嚱鏁板悕锛宺esult鏄繑鍥炵粨鏋滐紝a鍜宐鏄緭鍏ュ弬鏁般3銆佹帴鐫鍦ㄥ懡浠よ绐楀彛杈撳叆鈥渢est锛10,20锛夆濓紝璋冪敤test锛屼細鍑虹幇杩斿洖缁撴灉30銆4銆佷篃鍙互鏂板缓鑴氭湰锛屾妸鍑芥暟鍐欏叆鑴氭湰锛岀敤鑴氭湰璋冪敤鍑芥暟锛岃兘鐩存帴...
  • 鎬庝箞鍦╩atlab涓畾涔t2f鍑芥暟
    绛旓細matlab涓浣曞畾涔夊嚱鏁 鏂规硶/姝ラ 1 棣栧厛寤虹珛M鏂囦欢鎴栫洿鎺ョ偣鍑伙紙File/New/Function)寤虹珛鍑芥暟鏂囦欢锛屽叾涓嚱鏁版枃浠剁殑鏍煎紡鏄細function [杈撳嚭鍙橀噺] = 鍑芥暟鍚嶇О(杈撳叆鍙橀噺锛夋敞閲 鍑芥暟浣 2 濡備笅鎵绀猴紝鏄紪鍐欑殑涓涓眰1鍒皀涔嬪拰鐨勬眰鍜屽嚱鏁 eg_sum锛屾寜鐓т笂杩版牸寮忥紝缂栧啓浠g爜濡備笅骞朵繚瀛樻枃浠讹紝娉ㄦ剰鏂囦欢鍛藉悕鏃朵笉鑳戒互鏁板瓧...
  • matlab瀹氫箟鍑芥暟
    绛旓細鏂规硶/姝ラ 1銆侀鍏堝缓绔婱鏂囦欢鎴栫洿鎺ョ偣鍑伙紙File/New/Function)寤虹珛鍑芥暟鏂囦欢锛屽叾涓嚱鏁版枃浠剁殑鏍煎紡鏄細function [杈撳嚭鍙橀噺] = 鍑芥暟鍚嶇О(杈撳叆鍙橀噺锛夋敞閲 鍑芥暟浣 濡備笅鎵绀猴紝鏄紪鍐欑殑涓涓眰1鍒皀涔嬪拰鐨勬眰鍜屽嚱鏁 eg_sum锛屾寜鐓т笂杩版牸寮忥紝缂栧啓浠g爜濡備笅骞朵繚瀛樻枃浠讹紝娉ㄦ剰鏂囦欢鍛藉悕鏃朵笉鑳戒互鏁板瓧寮澶达細function [s] ...
  • 鍙嶄笁瑙鍑芥暟鍦╩atlab涓鎬庢牱瀹氫箟
    绛旓細鍙嶄笁瑙鍑芥暟鍦╩atlab涓畾涔鏂瑰紡锛1銆佸姬搴﹀煎弽涓夎鍑芥暟锛歛sin锛堬級鈥斺斿弽姝e鸡 acos锛堬級鈥斺斿弽浣欏鸡 atan锛堬級鈥斺斿弽姝e垏 acot( )鈥斺斿弽浣欏垏 2銆佽搴﹀煎弽涓夎鍑芥暟锛歛sind锛堬級鈥斺斿弽姝e鸡 acosd锛堬級鈥斺斿弽浣欏鸡 atand锛堬級鈥斺斿弽姝e垏 acotd( )鈥斺斿弽浣欏垏 ...
  • 扩展阅读:matlab如何定义函数方程 ... matlab7.0怎么定义函数 ... matlab不允许定义函数 ... ause在matlab中怎么定义 ... matlab定义一个常量k ... matlab函数大全 ... matlab定义a为常数 ... matlab如何定义新函数 ... matlab如何创建自定义函数 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网