juan0526 发表于 2007-12-27 14:09

关于循环迭代的出错问题

题目:用循环迭代求取c点的轨迹,和移动的g点轨迹
假设xA为已知,先取xC1=xA;
k=/xC1;此为c点的法线斜率,
xC2=xA-r/sqrt(1+k^2);
zC2= /(e^2-1);
zA=zC2+k(Xa- xC2);
xG=xA+q;
zG= zA+L;
已知
R0=8000;e^2=1.1;r=2.5;q=125;l=300;i=1;

下面是我编的程序,可是对循环迭代不是很清楚,所以无法得出想要的结果,希望各位帮我看看有什么问题,谢谢!!

clc;clear;
F1=kongkong(i,6);
R0=8000;
e2=1.1;
r=2.5;
q=125;
l=300;
i=1;
xA=1;
xC(i)=xA;
while(abs(b)>=10^(-8))% while(abs(b)>=1e-8)
    i=i+1;% 放在后面
    k(i)=sqrt(R0^2+(e2-1)*xC(i)^2)./xC(i);
    xC(i+1)=xA-r/sqrt(1+k(i)^2);
    zC(i+1)=(R0-sqrt(R0^2+(e2-1)*xC(i+1)^2))/(e2-1);
    zA(i)=zC(i+1)+k(i)*(xA-xC(i+1));
    xG(i)=xA+q;
    zG(i)=zA(i)+l;
    b=(xC(i)-xC(i-1));
end
F1(i,1)=xA;%这几个都没有循环
F1(i,2)=zA;%F1有什么用
F1(i,3)=xC;
F1(i,4)=zC;
F1(i,5)=xG;
F1(i,6)=zG;
plot(xC,zC)
plot(xA,zA)
plot(xG,zG)
hold on
end %这个对应哪个??
format short g,F1;

[ 本帖最后由 eight 于 2007-12-27 17:35 编辑 ]

sigma665 发表于 2007-12-27 14:20

回复 #1 juan0526 的帖子

??? Undefined function or method 'kongkong' for input arguments of type
'double'.

F1=kongkong(i,6);
这个是什么

juan0526 发表于 2007-12-27 14:47

回复 #2 sigma665 的帖子

呵呵,首先感谢小西,其次很惭愧有那么多的问题。。。真是不好意思:@$
1、F1(i,6)是我定义的i行6列数组,因为最终还是希望输出数据的;(kongkong只是随便起的一个名字)
2、while(abs(b)>=1e-8)不知道为什么可以这样写;
3、怎样让它循环下去,并输出呢

sigma665 发表于 2007-12-27 15:20

原帖由 juan0526 于 2007-12-27 14:47 发表 http://www.chinavib.com/forum/images/common/back.gif
呵呵,首先感谢小西,其次很惭愧有那么多的问题。。。真是不好意思:@$
1、F1(i,6)是我定义的i行6列数组,因为最终还是希望输出数据的;(kongkong只是随便起的一个名字)
2、while(abs(b)>=1e-8)不知道 ...


kongkong()那个运行不了
while(abs(b)>=1e-8 这个跟你一样的

你程序不完整,没法运行,所以不好调试

juan0526 发表于 2007-12-27 15:48

你说的不完整,或许是指我的程序无法循环起来吧
现在的问题就是这个呢,
抓狂中。。。

sigma665 发表于 2007-12-27 16:08

原帖由 juan0526 于 2007-12-27 15:48 发表 http://www.chinavib.com/forum/images/common/back.gif
你说的不完整,或许是指我的程序无法循环起来吧
现在的问题就是这个呢,
抓狂中。。。
不是啊
那你这句能运行吗
F1=kongkong(i,6);

xjzuo 发表于 2007-12-27 16:11

程序问题很多, 后面的注释不是已经讲得很清楚了吗?
先按照其修改,有问题再来讨论.

eight 发表于 2007-12-27 17:35

原帖由 juan0526 于 2007-12-27 14:09 发表 http://www.chinavib.com/forum/images/common/back.gif
题目:用循环迭代求取c点的轨迹,和移动的g点轨迹
假设xA为已知,先取xC1=xA;
k=/xC1;此为c点的法线斜率,
xC2=xA-r/sqrt(1+k^2);
zC2=
建议先阅读基础书,然后再慢慢调试

juan0526 发表于 2007-12-29 09:39

谢谢各位!!

xjimm 发表于 2008-1-3 21:10

这个论坛还是有很多热心人的

appleseed05 发表于 2008-1-4 11:29

建议你画一个框图,整理一下逻辑关系
页: [1]
查看完整版本: 关于循环迭代的出错问题