如何在matlab中定义两个输出量的函数
展开全部
如果你是问fsolve求解0值方程的用法,是这样:
[输出变量列表,逗号分隔]=fsolve(函数句柄,[参数初值列表,逗号分隔],选项参数)
对照你写的语句:
[x,favl]=fsolve(@(x)cos(0.5*x)*cosh(0.5*x)+1,6)
你写的表达式中fsolve参数中的@句是匿名方式声明函数:
函数名 =@(变量列表)表达式
所以原句相当于在求解x0=6附近cos(0.5*x)*cosh(0.5*x)+1=0的解
实际不用;号结尾这一句在COMMAND下直接就可解出:
x = 3.7502 =>最近的解点
favl = -1.3868e-07 =>解点的函数值,很接近于0了哦。fsolve是数值解法。
要求解9附近的根和误差:
[x,favl]=fsolve(@(x)cos(0.5*x)*cosh(0.5*x)+1,9)
x = 9.3882
favl = 2.4299e-09
至于怎样为函数定义多个输入参数。。。。自己去随便搜点基础教程都有的。
看帮助也行阿,搜function declare arguments,第一个结果应该就是了
声明语法:
Declare function
Syntax
function [out1, out2, ...] = myfun(in1, in2, ...)
[输出变量列表,逗号分隔]=fsolve(函数句柄,[参数初值列表,逗号分隔],选项参数)
对照你写的语句:
[x,favl]=fsolve(@(x)cos(0.5*x)*cosh(0.5*x)+1,6)
你写的表达式中fsolve参数中的@句是匿名方式声明函数:
函数名 =@(变量列表)表达式
所以原句相当于在求解x0=6附近cos(0.5*x)*cosh(0.5*x)+1=0的解
实际不用;号结尾这一句在COMMAND下直接就可解出:
x = 3.7502 =>最近的解点
favl = -1.3868e-07 =>解点的函数值,很接近于0了哦。fsolve是数值解法。
要求解9附近的根和误差:
[x,favl]=fsolve(@(x)cos(0.5*x)*cosh(0.5*x)+1,9)
x = 9.3882
favl = 2.4299e-09
至于怎样为函数定义多个输入参数。。。。自己去随便搜点基础教程都有的。
看帮助也行阿,搜function declare arguments,第一个结果应该就是了
声明语法:
Declare function
Syntax
function [out1, out2, ...] = myfun(in1, in2, ...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询