声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1800|回复: 7

[绘图技巧] 用matalb能不能画出四个坐标轴都是正的图形

[复制链接]
发表于 2010-5-7 08:01 | 显示全部楼层 |阅读模式

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

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

x
如题,我遇到了一个特殊需要,希望坐标系的四个象限的坐标都是表示正的,比如说右边的横坐标表示一个自变量,跟这个自变量有关的是两个不同的函数,而且这两个函数的值只能是正的,我想在第一象限画一个函数的图,在第四象限画另一个函数的图,不知这样的图用matlab能不能画出来,如果能画出来,需要怎么编程?
      另外,要是matlab不能画,还有没有其他软件能画的?
      期待各位高人指点!

[ 本帖最后由 ChaChing 于 2010-5-9 11:54 编辑 ]
回复
分享到:

使用道具 举报

发表于 2010-5-7 08:40 | 显示全部楼层
help polar ???
 楼主| 发表于 2010-5-7 10:10 | 显示全部楼层

问题补充:之前的描述出了点错误,我想画的图就像下面的图所示,w是A的函数,
而VF是w的函数,我感觉polar应该是画不出这样的图形的,要是能画可不可以讲解
一下用法?
tu.jpg
发表于 2010-5-7 14:43 | 显示全部楼层
个人以为应不难! 建议楼主说具体些!
 楼主| 发表于 2010-5-8 08:38 | 显示全部楼层
补充:在坐标轴的第一个象限,需要画的曲线是VF=VF(w),这里w是正的,这时VF也是正的;在第四个象限,需要画的是w=w(A),A是正的,而w也是正的。
    由于VF=VF(w)和w=w(A)这两个函数的表达式太过复杂,在这里不好输进来, 我能描述的就这么多了。
发表于 2010-5-8 23:48 | 显示全部楼层
其实方法应该很多, 但楼主不方便具体些!?
所以随意举例
clc; clear
w=[1:0.1:10]; VF=w.^2-10*w+30; plot(w,VF); hold on;
A=[0.1:0.1:8]; w2=A.^2-5*A+10;plot(w2,-A); grid on
yy=num2str(abs(str2num(get(gca,'YTickLabel'))));
set(gca,'YTickLabel',yy)
 楼主| 发表于 2010-5-9 09:34 | 显示全部楼层
谢谢ChaChing 的帮助,我的问题可以解决了,在这里学到了一些新的matlab的画图技巧,
就像程序的最后两行,之前我是没有接触过这种画图方式的!

[ 本帖最后由 ChaChing 于 2010-5-9 11:53 编辑 ]
发表于 2010-5-9 14:10 | 显示全部楼层
发现LZ也帮忙回应了不少问题, 不是仅来要答案的人!
记得前头说过方法应该很多, 本来懒得编程, 特别再给个例子参考下! 使用axes控制图形
clc; clear
axes('Position',[0.1 0.1 0.8 0.4]);
A=[0.1:0.1:8]; w2=A.^2-5*A+10;plot(w2,-A); grid on
axis([0 10 -inf 0]);
yy=num2str(abs(str2num(get(gca,'YTickLabel'))));
set(gca,'YTickLabel',yy); set(gca,'XTickLabel',[])
axes('Position',[0.1 0.5 0.8 0.4]);
w=[1:0.1:10]; VF=w.^2-10*w+30; plot(w,VF); grid on;
axis([0 10 0 inf]);
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-24 19:44 , Processed in 0.072829 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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