huorient 发表于 2007-10-2 14:26

怎么把一个二维的图像画成三维的?

我有一个问题就是怎么把一个二维的图像由于一个参数的改变画成三维的。
例如这个简单的程序
clear;
N=200;
c(1)=0.01;
a1=0.02;
a2=6;
a3=0.04;
for i=1:1:N-1
b(i)=a1*(1-c(i))*(1-c(i));
c(i+1)=a2*b(i)*c(i)-a3*c(i)+c(i);
end
plot(c);
我想把a1的参数依次设为0.02,0.04,0.06,0.08然后画出三维的图像c(i,a1)
请高手们指教!

[ 本帖最后由 eight 于 2007-10-3 10:08 编辑 ]

咕噜噜 发表于 2007-10-2 15:25

回复 #1 huorient 的帖子

双重循环不就可以了吗

花如月 发表于 2007-10-2 15:32

我也觉得没有必要画成三维的,用循环画到一个二维平面图里就可以了。

huorient 发表于 2007-10-3 15:26

回复

这只是一个很简单的例子
我做的如果画成二维的看起来很乱
画成三维的应该好一些
在一个论文上看到别人那样做过,效果很好
可是没有程序可供参考

xjzuo 发表于 2007-10-3 15:58

对a1再作一个外循环,c的下标变为两个即可.
---若仍用一个下标的话,也可以用元胞数组实现.
%%%============================%%%
下图可作为参考,其中为了好看一点,我取了N=100;
a1=;

huorient 发表于 2007-10-4 10:57

回复 #5 xjzuo 的帖子

你能把程序发给我吗?
我以前没做过这样的,我按照你说的试了一下,可是没画出啊
谢谢你了

huorient 发表于 2007-10-4 11:08

回复 #5 xjzuo 的帖子

我的邮箱是huorient@163.com
万分感谢
-------------------------------------------------
这里就是讨论版,有必要留邮箱么?
岂不是舍近求远?
---------------------by 花如月--------------

[ 本帖最后由 花如月 于 2007-10-4 13:08 编辑 ]

花如月 发表于 2007-10-4 16:35

回复 #7 huorient 的帖子

这是我画的,xjzuo版主把方法都告诉你了,多尝试下就出来了clear,clc
N=200;
c(1)=0.01;
a1=0.02:0.01:0.08;
M=length(a1)
a2=6;a3=0.04;
d=zeros(M,N);
for j=1:M
    for i=1:N-1
      b(i)=a1(j)*(1-c(i))^2;
      c(i+1)=a2*b(i)*c(i)-a3*c(i)+c(i);
    end
   d(j,:)=c;
end
mesh(1:N,a1,d)

[ 本帖最后由 花如月 于 2007-10-4 16:40 编辑 ]

huorient 发表于 2007-10-4 19:03

回复 #8 花如月 的帖子

谢谢大家了
我原来画的总是显示出错
把a1的值改成整数时画出来了,可是那样就不对了
真是谢谢你们了
页: [1]
查看完整版本: 怎么把一个二维的图像画成三维的?