24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1714  |  回复: 11

xmc_chong

新虫 (初入文坛)

[求助] 通过迭代得出一系列(x,y,z)的值,怎么提取出如x=0的所有(x,y,z)值

各位高手帮帮忙忙,matlab中,通过迭代得出一系列(x,y,z)的值,怎么提取出满足x=0的所有(x,y,z)值。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-12-10 00:56:49
使用循环判断提取符合要求的数据组
不以风骚惊天下,但求淫荡动世人
2楼2013-12-09 12:40:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-12-10 00:56:41
假如每个(x,y,z)是矩阵M的行,如
M=[ 0 2 2
       2 2 1
       3 3 0
       0 7 1
       1 3 6]

index1=find(M(:,1)==0); %求M中第一列所有x=0的下标,命令窗口help find查看find函数用法
N=M(index1,:);
3楼2013-12-09 15:29:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmc_chong

新虫 (初入文坛)

通过迭代得出一系列(x,y,z)的值,怎么提取出如x=0的所有(x,y,z)值

clear
x1=0.2; x2=-0.6; x3=-0.4;
h=0.005;    %变量t变化步长%

%%%%%%%%% (系数初值)
a1(1)=2.0;   a1(2)=-1.2; a1(3)=0;
a1(4)=1.9; a1(5)=1.7;  a1(6)=1.1;
a1(7)=-4.5; a1(8)=0; a1(9)=1.1;

%%下面这段程序是龙格-库塔法
for i=1:50000
    k11=-x1+a1(1)*tanh(x1)+a1(2)*tanh(x2)+a1(3)*tanh(x3);
    k12=-x2+a1(4)*tanh(x1)+a1(5)*tanh(x2)+a1(6)*tanh(x3);
    k13=-x3+a1(7)*tanh(x1)+a1(8)*tanh(x2)+a1(9)*tanh(x3);
    k21=-x1+h/2*k11+a1(1)*tanh(x1+h/2*k11)+a1(2)*tanh(x2+h/2*k12)+a1(3)*tanh(x3+h/2*k13);
    k22=-x2+h/2*k12+a1(4)*tanh(x1+h/2*k11)+a1(5)*tanh(x2+h/2*k12)+a1(6)*tanh(x3+h/2*k13);
    k23=-x3+h/2*k13+a1(7)*tanh(x1+h/2*k11)+a1(8)*tanh(x2+h/2*k12)+a1(9)*tanh(x3+h/2*k13);
   
    x11=x1+k21*h;
    x12=x2+k22*h;
    x13=x3+k23*h;
    x1=x11;x2=x12;x3=x13;
    xx(i)=x1; yy(i)=x2; zz(i)=x3;
end
4楼2013-12-09 15:50:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmc_chong

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by feign_te at 2013-12-09 15:29:45
假如每个(x,y,z)是矩阵M的行,如
M=

index1=find(M(:,1)==0); %求M中第一列所有x=0的下标,命令窗口help find查看find函数用法
N=M(index1,:);...

我之前试过了,通过迭代得出的数值不能有find这样查找
5楼2013-12-09 15:52:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)


jjdg: 金币+1, 感谢参与 2013-12-10 00:57:02
引用回帖:
5楼: Originally posted by xmc_chong at 2013-12-09 15:52:17
我之前试过了,通过迭代得出的数值不能有find这样查找...

这个程序你算完得多久==~  
先预定义一下xx yy zz, 如xx=zeros(50000)
xx中没有等于0的项,它的值是0上下的。你是不是要找很接近0的项?
6楼2013-12-09 16:23:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmc_chong

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by feign_te at 2013-12-09 16:23:51
这个程序你算完得多久==~  
先预定义一下xx yy zz, 如xx=zeros(50000)
xx中没有等于0的项,它的值是0上下的。你是不是要找很接近0的项?...

有等于0的,做过截面x=0,有交点,就是找交点的。
7楼2013-12-09 16:28:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)


jjdg: 金币+1, 感谢参与 2013-12-10 00:57:10
引用回帖:
7楼: Originally posted by xmc_chong at 2013-12-09 16:28:34
有等于0的,做过截面x=0,有交点,就是找交点的。...

(xx,yy,zz) 在空间是回旋的曲线。xx最小值有2.5E-5的,可以选取一个标准,认为一些xx在误差范围类是等于0的。毕竟这种实际的代数计算不会产生0。
8楼2013-12-09 16:53:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmc_chong

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by feign_te at 2013-12-09 16:53:32
(xx,yy,zz) 在空间是回旋的曲线。xx最小值有2.5E-5的,可以选取一个标准,认为一些xx在误差范围类是等于0的。毕竟这种实际的代数计算不会产生0。...

在选一个标准下,该怎么写,我不知道该怎么赋给另外一个向量
9楼2013-12-09 16:56:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feign_te

金虫 (小有名气)

引用回帖:
9楼: Originally posted by xmc_chong at 2013-12-09 16:56:06
在选一个标准下,该怎么写,我不知道该怎么赋给另外一个向量...

曲线好像是共面的,它和xx=0的交点在一条直线上。不知道你要用这个算法解决的是什么样的问题。
10楼2013-12-09 17:06:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xmc_chong 的主题更新
信息提示
请填处理意见