声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1440|回复: 8

[绘图技巧] 怎么把一个二维的图像画成三维的?

[复制链接]
发表于 2007-10-2 14:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我有一个问题就是怎么把一个二维的图像由于一个参数的改变画成三维的。
例如这个简单的程序
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 的帖子

双重循环不就可以了吗

评分

1

查看全部评分

发表于 2007-10-2 15:32 | 显示全部楼层
我也觉得没有必要画成三维的,用循环画到一个二维平面图里就可以了。
temp.jpg

评分

1

查看全部评分

 楼主| 发表于 2007-10-3 15:26 | 显示全部楼层

回复

这只是一个很简单的例子
我做的如果画成二维的看起来很乱
画成三维的应该好一些
在一个论文上看到别人那样做过,效果很好
可是没有程序可供参考
发表于 2007-10-3 15:58 | 显示全部楼层
对a1再作一个外循环,c的下标变为两个即可.
---若仍用一个下标的话,也可以用元胞数组实现.
%%%============================%%%
下图可作为参考,其中为了好看一点,我取了N=100;
a1=[0.02:.01:0.08];

z.jpg

评分

1

查看全部评分

 楼主| 发表于 2007-10-4 10:57 | 显示全部楼层

回复 #5 xjzuo 的帖子

你能把程序发给我吗?
我以前没做过这样的,我按照你说的试了一下,可是没画出啊
谢谢你了
 楼主| 发表于 2007-10-4 11:08 | 显示全部楼层

回复 #5 xjzuo 的帖子

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

[ 本帖最后由 花如月 于 2007-10-4 13:08 编辑 ]
发表于 2007-10-4 16:35 | 显示全部楼层

回复 #7 huorient 的帖子

这是我画的,xjzuo版主把方法都告诉你了,多尝试下就出来了
  1. clear,clc
  2. N=200;
  3. c(1)=0.01;
  4. a1=0.02:0.01:0.08;
  5. M=length(a1)
  6. a2=6;a3=0.04;
  7. d=zeros(M,N);
  8. for j=1:M
  9.     for i=1:N-1
  10.         b(i)=a1(j)*(1-c(i))^2;
  11.         c(i+1)=a2*b(i)*c(i)-a3*c(i)+c(i);
  12.     end
  13.    d(j,:)=c;
  14. end
  15. mesh(1:N,a1,d)
复制代码

[ 本帖最后由 花如月 于 2007-10-4 16:40 编辑 ]
temp.jpg
 楼主| 发表于 2007-10-4 19:03 | 显示全部楼层

回复 #8 花如月 的帖子

谢谢大家了
我原来画的总是显示出错
把a1的值改成整数时画出来了,可是那样就不对了
真是谢谢你们了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 23:32 , Processed in 0.060143 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表