声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1933|回复: 9

[编程技巧] 如何將方程式 繪圖

[复制链接]
发表于 2015-10-27 17:56 | 显示全部楼层 |阅读模式

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

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

x
大大好:
我有方程式是
0=2*y*(1-2^2/y^2)*sin(x)
另一式是
10=2*y*(1-2^2/y^2)*sin(x)
x是角度,
y和x都是變數,
要用程是寫出來並畫出這兩條曲線,
x範圍可0-180度
y範圍都可以(ex -5到5之類)
主要是這個式子要怎麼做出圖
跪求如何寫 謝謝




感激不敬
回复
分享到:

使用道具 举报

发表于 2015-10-27 18:06 | 显示全部楼层
第一个式子是不是有问题?
0=2*y*(1-2^2/y^2)*sin(x)成立的条件是
sin(x)=0或y=0或y=2不存在函数关系
 楼主| 发表于 2015-10-27 18:15 | 显示全部楼层
leejack 发表于 2015-10-27 18:06
第一个式子是不是有问题?
0=2*y*(1-2^2/y^2)*sin(x)成立的条件是
sin(x)=0或y=0或y=2不存在函数关系

請問可以 一個方程式 兩個未知數(x和y)
然後在設x範圍,的得到y, 然後在 畫出xy圖,  這樣可以嗎
发表于 2015-10-27 18:16 | 显示全部楼层
第二个式子
  1. fh = @(x,y) 2*y*(1-2^2/y^2)*sin(x)-10;
  2. ezplot(fh,[0,pi,-5,5]);
复制代码

评分

1

查看全部评分

发表于 2015-10-27 18:18 | 显示全部楼层
guangwei27 发表于 2015-10-27 18:15
請問可以 一個方程式 兩個未知數(x和y)
然後在設x範圍,的得到y, 然後在 畫出xy圖,  這樣可以嗎

你这是隐函数,这种函数根据有两种处理办法
第一种就是有些隐函数是可以转换成显式函数的,这个时候就可以直接计算绘图了
另外一种就是采用ezplot可以直接绘制隐函数图形
 楼主| 发表于 2015-10-27 19:05 | 显示全部楼层

請問一下 我輸入後
他跳出錯誤
Warning: Function failed to evaluate on array inputs; vectorizing the function may speed up its evaluation and avoid the need to loop over
array elements.
> In ezplotfeval (line 56)
  In ezplot>ezimplicit (line 257)
  In ezplot (line 153)
发表于 2015-10-27 21:13 | 显示全部楼层
guangwei27 发表于 2015-10-27 19:05
請問一下 我輸入後
他跳出錯誤
Warning: Function failed to evaluate on array inputs; vectorizing t ...

我这儿运行没有错误,只是个警告,警告内容和你差不多,可能是由于这个函数非单调造成的
Warning: Function failed to evaluate on array inputs; vectorizing the function may
speed up its evaluation and avoid the need to loop over array elements.
> In specgraph\private\ezplotfeval at 57
  In ezplot>ezimplicit at 256
  In ezplot at 154
发表于 2015-10-27 21:13 | 显示全部楼层
guangwei27 发表于 2015-10-27 19:05
請問一下 我輸入後
他跳出錯誤
Warning: Function failed to evaluate on array inputs; vectorizing t ...

可以考虑leejack说的第一种方法看看
 楼主| 发表于 2015-10-28 09:20 | 显示全部楼层
yydryydr 发表于 2015-10-27 21:13
可以考虑leejack说的第一种方法看看

請問程式要如何修正?

我的x 和 y 都要設定範圍 然後畫出圖來
发表于 2015-10-28 09:47 | 显示全部楼层
guangwei27 发表于 2015-10-28 09:20
請問程式要如何修正?

我的x 和 y 都要設定範圍 然後畫出圖來
  1. y=-5:0.0001:5;
  2. z=5*y.*(1-4./y.^2);
  3. zi=find(z>=0 & z<=1);
  4. x1=asin(z(zi));
  5. plot(x1,y(zi),'r.')
  6. x2=pi-asin(z(zi));
  7. hold on;
  8. plot(x2,y(zi),'b.')
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-1 10:45 , Processed in 0.066047 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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