用MATLAB contour函数画复杂隐函数

之前吭哧了两天没画出来,就昨天突然画出来了,还是非常简单的代码,总结反思:做一项任务,有时候查百度有种方法,由于急躁的心理,在看的时候没有对方法琢磨透变进行尝试,结果尝试失败了,变换方法,再尝试,结果就是浪费了很多时间,让我想到了小学时挖井的漫画,挖了一定深度,没挖到便放弃,换个地方重新挖,结果都没挖到,就认为下面没水。

422.7=379.5*01W2379.522×3+a4+2at+3-2-2a4-3a5t2+4a4t3+5a5t42+1dt

就这个函数w=100时,我要求出来a4和a5的曲线,

要用到contour函数,

代码如下:

clc;clear;
syms z 
a=linspace(-30,100,50);
b=linspace(10,-50,50);
[A,B]=meshgrid(a,b);
y=int(sqrt(0.0694*((6+A.*2+B.*4).*z+(-6-A.*6-B.*9).*z^2+A.*4*z.^3+B.*5*z.^4).^2+1),0,1);
v=[1.05692,1.05692];
contour(A,B,y,v)

我之前没用contour画出来是因为,有的z相乘的时候少了.点,导致的。

有一点,如果linspace选的点太多,运行时间很长

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在MATLAB极坐标隐函数,要先明确要绘制的隐函数方程式。在极坐标系下,隐函数可以表示为$f(r,\theta)=0$的形式。其中$r$表示极径,$\theta$表示极角。 假设我们要画出$f(r,\theta)=r^2-2\cos(2\theta)=0$的图形。首先需要在MATLAB中定义隐函数方程$f(r,\theta)$,可以使用匿名函数来定义: f = @(r,theta) r.^2 - 2*cos(2*theta); 然后,我们需要在极坐标系下生成一组$r$和$\theta$的值,以便使用polar函数在极坐标中绘制图形。可以使用meshgrid函数生成一组坐标网格: theta = linspace(0,2*pi,500); r = linspace(0,5,500); [theta,r] = meshgrid(theta,r); 接下来,我们将$r$和$\theta$带入隐函数方程中计算出$f(r,\theta)$的值,用0作为隐函数的等值线,在极坐标下绘制图形,代码如下: f = @(r,theta) r.^2 - 2*cos(2*theta); theta = linspace(0,2*pi,500); r = linspace(0,5,500); [theta,r] = meshgrid(theta,r); z = f(r,theta); figure; polar(theta(r==0),r(r==0),'-k'); hold on; [p,h] = contour(theta,r,z,[0 0],'k'); set(h(:),'linewidth',2); hold off; 上述代码中,我们先用polar函数绘制了一个黑色的原点圆。然后,使用contour函数在极坐标系下绘制隐函数的等值线,用0作为等值线,再把等值线的样式设为黑色和线宽为2。最后,添加hold off指令关闭绘图过程的保留功能。 运行代码,就可以得到隐函数的极坐标图形了。 ### 回答2: Matlab极坐标隐函数时,可以使用polar函数进行绘制。 polar函数绘制的是极坐标中的直线或曲线。对于极坐标隐函数,需要将隐函数转化为参数形式,然后使用polar函数绘制。具体的步骤如下: 1. 将极坐标隐函数转化为参数形式。假设极坐标隐函数为r=f(θ),则可以将其转化为参数方程 r=f(θ), x=r*cos(θ), y=r*sin(θ)。 2. 利用参数方程计算出θ和r的取值范围,生成相应的向量。这些向量将用于输入polar函数中。 3. 利用参数方程计算出x和y的取值,生成相应的向量。这些向量将用于绘制隐函数的曲线。 4. 利用polar函数绘制极坐标隐函数的曲线。polar函数的输入参数为一个向量,表示极角的取值范围,和一个另一个向量,表示对应的函数值。因此需要将刚才生成的向量作为polar函数的输入参数,绘制出极坐标隐函数的曲线。 下面是一个示例代码,利用上述步骤绘制出的极坐标隐函数的曲线: ```matlab % 极坐标隐函数 r = sin(3θ) % 生成角度θ的取值范围 theta = linspace(0, 2*pi, 1000); % 计算出r的取值,即隐函数函数值 r = sin(3*theta); % 计算出x和y的取值 x = r.*cos(theta); y = r.*sin(theta); % 用polar函数绘制出极坐标隐函数的曲线 polar(theta, r); ``` 上述代码中,首先通过linspace函数生成了1000个等间距的θ值,然后通过求解隐函数的方式计算出对应的r值。接着根据参数方程计算出了x和y的取值,最后利用polar函数绘制了出极坐标隐函数的曲线。 总之,对于极坐标隐函数的绘制,需要转化为参数形式,然后利用polar函数绘制出对应的曲线。这样就能够清晰明了地绘制出极坐标隐函数的图像了。 ### 回答3: 在Matlab极坐标隐函数的方法很简单,只需使用polar函数即可。 首先,我们需要了解什么是极坐标隐函数。极坐标隐函数可以表示为r=f(θ),其中r表示径向距离,θ表示极角,f(θ)为一定的函数关系。极坐标隐函数常用于描述圆形、旋转体、螺旋线等等。 接下来,我们来看一个实例,假设我们要画出形如r^2=4cos(2θ)的极坐标隐函数,将其绘制在极坐标系中。我们可以按照以下步骤进行操作: 1. 定义θ的范围:由于一个完整的圆形的角度为360度或2π,我们可以定义θ的范围为0到2π,可以使用linspace函数来生成等间距的θ的值: theta = linspace(0,2*pi,1000); 2. 计算r的数值:根据给定的极坐标隐函数公式,我们可以通过在theta范围内逐一计算r的值,得到对应的r值序列: r = sqrt(4*cos(2*theta)); 3. 绘制极坐标图形:最后,我们使用polar函数将计算出的r和theta序列作为参数输入,得到绘制好的极坐标图形: polar(theta,r); 通过以上三个步骤,我们就可以在Matlab画出所需的极坐标隐函数图形了。需要注意的是,由于极坐标图形默认是从下方开始绘制的,因此如果需要使图形从上方开始结尾,可以通过旋转角度的方式进行调整。具体操作方法可参照Matlab相关文档或查阅其他资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值