Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-03-03
年龄: 47
帖子: 9
声望力: 0 ![]() |
![]()
这是求曲率最大点的程序,我单步运行可通过,结果正确,但整体一起运行就出错,错误是
?? 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.') |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-01-02
帖子: 247
声望力: 22 ![]() |
![]()
楼主,你定义的函数y在哪儿呢?
plot(x,y....)中的y没有定义。 |
![]() |
![]() |
![]() |
#3 |
高级会员
注册日期: 2008-01-02
帖子: 247
声望力: 22 ![]() |
![]()
可以了哈:
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.') |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-03-03
年龄: 47
帖子: 9
声望力: 0 ![]() |
![]()
谢谢版主,但你的程序我在自己的机器上运行还是有错误,错误是:
?? 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.') |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[MATLAB基础] 不用矩陣畫圖 | cody_snake | MATLAB论坛 | 1 | 2009-04-19 17:37 |
[求助]分解出来全是黑色一片 | yeshenyue | MATLAB论坛 | 1 | 2009-03-31 10:03 |
[分享]给大家传一个图像空间变换和直方图变换的数学推导 | johnny8088 | MATLAB论坛 | 0 | 2009-01-31 03:26 |
Matlab声音合成和滤波的问题【附代码-自己写的】 | xmuer | MATLAB论坛 | 4 | 2008-12-17 08:58 |