请大神帮忙看看这段MATLAB的m文件代码哪里不对,急等答案function a=benjin(x)syms x n ya=1000:1000:60000;n=zeros(1,60);y=x*2-2*a*0.01;n=log(x*2/y)/log(1+0.005);plot(a,n)初学者.怎么改都编译不过.纠结啊.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 19:20:45
请大神帮忙看看这段MATLAB的m文件代码哪里不对,急等答案function a=benjin(x)syms x n ya=1000:1000:60000;n=zeros(1,60);y=x*2-2*a*0.01;n=log(x*2/y)/log(1+0.005);plot(a,n)初学者.怎么改都编译不过.纠结啊.
请大神帮忙看看这段MATLAB的m文件代码哪里不对,急等答案
function a=benjin(x)
syms x n y
a=1000:1000:60000;
n=zeros(1,60);
y=x*2-2*a*0.01;
n=log(x*2/y)/log(1+0.005);
plot(a,n)
初学者.怎么改都编译不过.纠结啊.
请大神帮忙看看这段MATLAB的m文件代码哪里不对,急等答案function a=benjin(x)syms x n ya=1000:1000:60000;n=zeros(1,60);y=x*2-2*a*0.01;n=log(x*2/y)/log(1+0.005);plot(a,n)初学者.怎么改都编译不过.纠结啊.
改成下面的就可以了:用点除(矩阵维数得匹配,但光改n=log(.)那行话,是不够的.此外x得定义,要不会出现Conversion to double from sym is not possible.这个错误,原因是syms与double之间不匹配)
syms n y
a=1000:1000:60000;
x=1000
n=zeros(1,60);
y=x*2-2*a*0.01;
n=log(x*2./y)/log(1+0.005);
plot(a,n)
我知道你的意思,是想输入一个x然后画出图.
但那样的话,就会出现我上面说的Conversion to double from sym is not possible.错误.
x是syms型,后面的数据y,n都是syms,而a却是double型的.
你可以试试哦,不定义x话,是不是出现这个错误
这样是无法作图的.
只有定义x才可以匹配.
你可以不把它写成函数,就需要x多少的时候,直接定义就好啦.