![]() |
请教程序为什么单步可运行,而整体出错?谢谢
这是求曲率最大点的程序,我单步运行可通过,结果正确,但整体一起运行就出错,错误是
?? Error using ==> ./ Matrix dimensions must agree. Error in ==> D:\lianghua\matlabwork\cequlv.m On line 9 ==> k1b=k2./(((1+k1.^2)).^(3/2)) 请教 是为什么?怎么解决? 程序如下: syms x y21 y21='5*x^2+5' k2=diff(y21,2) k1=diff(y21,1) k1b=k2./(((1+k1.^2)).^(3/2)) k1b=abs(k1b) x=-11:20 k1=subs(k1b) k1=double(k1) nk1=length(k1) maxk1=max(k1) [mk1,nk1]=find(k1==maxk1) plot(x,y,x(nk1),y(nk1),'r.') |
回复: 请教程序为什么单步可运行,而整体出错?谢谢
楼主,你定义的函数y在哪儿呢?
plot(x,y....)中的y没有定义。 |
回复: 请教程序为什么单步可运行,而整体出错?谢谢
可以了哈:
syms x y21 y21='5*x^2+5'; k2=diff(y21,2); k1=diff(y21,1); k1b=k2./(((1+k1.^2)).^(3/2)); k1b=abs(k1b); x=-11:20; k1=subs(k1b,'x',-11:20); k1=double(k1); nk1=length(k1); maxk1=max(k1); [mk1,nk1]=find(k1==maxk1); plot(x,k1,x(nk1),k1(nk1),'r.') |
回复: 请教程序为什么单步可运行,而整体出错?谢谢
谢谢版主,但你的程序我在自己的机器上运行还是有错误,错误是:
?? Error using ==> ./ Matrix dimensions must agree. On line 5 ==> k1b=k2./(((1+k1.^2)).^(3/2)); 同样的还是单步可以得到结果,但运行run就出现上述错误. 原来的程序,我补充一下y syms x y21 y21='5*x^2+5' k2=diff(y21,2) k1=diff(y21,1) k1b=k2./(((1+k1.^2)).^(3/2)) k1b=abs(k1b) x=-11:20 k1=subs(k1b) k1=double(k1) nk1=length(k1) maxk1=max(k1) [mk1,nk1]=find(k1==maxk1) y=[5.*x.^2] plot(x,y,x(nk1),y(nk1),'r.') |
所有时间均为北京时间。现在的时间是 12:42。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.