matlab m文件参数
functionm=fun2(y)m=solve('x+1=y','x');调用函数fun2(3)结果为y-1是为什么...
function m=fun2(y)
m=solve('x+1=y','x');
调用函数fun2(3)
结果为y-1是为什么 展开
m=solve('x+1=y','x');
调用函数fun2(3)
结果为y-1是为什么 展开
2个回答
展开全部
原因:
solve函数的输入是一个字符串,字符串中的y与函数fun2的输入参数y没有任何关系,换言之,在fun2函数里,输入y根本没有被使用。
解决:
(1)代入数据:在
m=solve('x+1=y','x');
的后面加一句
m=subs(m);
即可将y的值代入solve求得的结果。
(2)另一种做法:把函数改成
function m=fun2(y)
syms x
m=solve(x+1-y,x);
也就是把solve的输入参数改为sym类型,但需要注意,此时求得的结果也是sym类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询