幾個心形圖數學函數,matlab畫圖

2022-02-03 Python 數據科學與數學建模
一、平面心形圖像
1. 笛卡爾心形函數

第一個當然是大名鼎鼎的笛卡爾心形函數,它的平面直角坐標系方程為:

其中 a 是一個可調參數,下面的圖為 a=1 時的圖像。

matlab 代碼:

ezplot('(x^2+y^2)^2+4*2*x*(x^2+y^2)-4*2^2*y^2=0')

untitled

笛卡爾心形圖比較像一個心臟的形狀。

2. 函數1

經過網上搜索,平面坐標系中,下面的函數最像普通的心形圖像,而且函數形式簡單,不需要分段。

改變右面的數值可以變化心形圖像的大小,MATLAB 代碼:

ezplot('x^2+(y-(x^2)^(1/3))^2=9')

3. 函數2

還有一個函數:

代碼:

ezplot('-x^2*y^3+(x^2+y^2-1)^3=0',[-1.5,1.5])

4. 函數3

代碼:

ezplot('17*x.^2-16*abs(x).*y+17*y.^2=200'

5.函數4

代碼:

x=linspace(-2,2,1000);
y1=sqrt(2*sqrt(x.^2)-x.^2);
y2=-2.14*sqrt(sqrt(2)-sqrt(abs(x)));
plot(x,y1,'b',x,y2,'b');
axis([-2.5,2.5,-3,1.5]);

6. 函數5
t=linspace(-6,6,1000);
x=16*(sin(t)).^3;
y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
plot(x,y);

二、立體心形圖像

立體心形貌似只能由笛卡爾方程得到:

畫圖時用 isosurface 和 patch  函數:

1.圖形1
f=@(x,y,z)(x.^2+ (9./4).*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9./80).*y.^2.*z.^3;
[x,y,z]=meshgrid(linspace(-3,3));
val=f(x,y,z);
[p,v]=isosurface(x,y,z,val,0);
patch('faces',p,'vertices',v,'facevertexcdata',jet(size(v,1)),'facecolor','w','edgecolor','flat');
view(3);
grid on;
axis equal;


2.圖形2
f=@(x,y,z)(x.^2+ (9./4).*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9./80).*y.^2.*z.^3;
[x,y,z]=meshgrid(linspace(-1.5,1.5));
val=f(x,y,z);
isosurface(x,y,z,val,0); 
axis equal;
view(3);
colormap([1 0.2 0.2])


(寫於 2016-11-11 21:25:35)

相關焦點

  • MATLAB的compass函數繪製羅盤圖
    羅盤圖是一個圓盤狀圖形,從原點出發的箭頭,箭頭在圓盤中的角度用於表示數據的角度,箭頭的長短用於表示數據的大小。在matlab中使用compass()函數來繪製羅盤圖。語法:羅盤圖顯示包含分量 (U,V) 的向量,就像箭頭從原點射出一樣。U、V 和 Z 位於笛卡爾坐標中,繪製於一個環狀網格上。
  • Matlab畫圖指令小記
    在matlab一幅圖形中可能有多個曲線,為了區分開不同的曲線需要對曲線進行標示。matlab中用plot畫圖。plot(a,b)。其中是以a為橫坐標,b為縱坐標畫圖。當需要對不同的曲線畫不同的顏色時採用plot(x,y,'black')語句即可。其中black是指黑色線。
  • MATLAB簡單粗暴教程(十三)——MATLAB裡畫圖的一些基本函數
    值班間隙抓緊時間碼字,怕是再不抓緊時間,後面就要斷檔了…本文主要介紹matlab中常用常見的一些畫圖函數(不包括地圖工具箱和圖片處理神馬的)的最簡單用法。不敢說面面俱到,但是基本上涵蓋的也差不多了,大家經常提問的也都在這裡出現了。
  • MATLAB的feather函數繪製箭頭圖
    示例因為是向量圖,feather函數的輸入需要兩個變量,分別表示x方向和y方向。複數自帶實數和虛數,能直接繪製。中矩陣的入門知識MATLAB的輸入輸出input函數Matlab對fig文件導出數據matlab多項式(定義、四則計算、求根)MATLAB的switch選擇語句和input輸入語句視頻講解MATLAB的switch選擇語句和input輸入語句matlab中的歸一化處理的三種方法MATLAB求函數的導數和偏導
  • MATLAB非線性擬合函數nlinfit函數
    /log(x);endMATLAB相關內容往期回顧MATLAB中繪製三維圖形MATLAB的輸入輸出input函數matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab
  • MATLAB 與複數處理相關的函數
    複數的繪圖(1)直角坐標圖plot函數(2)極坐標圖Polar函數調用格式:polar(theta,rho)其中theta為極坐標極值,rho為極坐標矢徑例:做出y=t+i*rsin(t) 的坐標圖clc;clear
  • MATLAB的ode45函數實例求常微分方程數值解
    [T,Y] = ode45(odefun,tspan,y0)odefun 是函數句柄,可以是函數文件名,匿名函數句柄或內聯函數名tspan 是區間 [t0 tf] 或者一系列散點[t0,t1,...;tspan = [0,50];%變量t的範圍x0 = [0;0]; %初值[t,x] = ode45(@myfunY,tspan,x0)%使用ode45函數%畫圖figure;plot(t,x(:,1),'r');hold on;plot(t,x(:,2),'b');xlabel('t');%設置x軸坐標legend('x的一階導數 ','x的二階導數');%設置圖例data1 = [t x]xlswrite
  • MATLAB中的數據插值函數
    從數學上來說,數據插值是一種函數逼近的方法。數據插值的實現方法:1、一維插值函數為interp1(),調用格式:y = interp1(X,Y,X1,method)該式可以根據X,Y的值來計算函數在X1處的值。其中X,Y是兩個等長的已知向量,分別表示採樣點和採樣值。X1是一個向量或標量,表示要插值的點。
  • MATLAB的ezplot函數繪製隱函數圖像
    2、ezplot函數ezplot是畫出隱函數圖形,是形如f(x,y)=0這種不能寫出像y=f(x)這種函數的圖形ezplot一元函數繪圖函數ezplot(fun) ezplot(fun,[min,max])函數ezplot它無需數據準備,直接畫出函數圖形,基本調用格式為ezplot(f),其中f 是字符串或代表數學函數的符號表達式
  • Matlab畫圖技巧: 不需要敲代碼的傻瓜式操作流程
    Matlab已經成為畫曲線圖最好用的語言之一了, 但是許多人並沒有發現他的最好用之處——相比於大部分語言,需要記住一堆API函數才能繪製出想要的曲線, matlab提供了可視化的界面進行傻瓜式的畫圖操作, 實現指哪打哪的功能而不需要任何代碼。可以這麼說, 如果其他語言是Photoshop, matlab就可以當做美圖秀秀。這裡就介紹一下matlab通過可視化界面來畫圖的操作。
  • MATLAB求函數的導數和偏導
    matlab求導命令diff調用格式:diff(函數),求的一階導數;diff(函數,n),求的n階導數(n是具體整數);diff(函數,變量名),求對的偏導數;diff(函數,變量名,n),求對的n階偏導數;matlab求雅可比矩陣命令jacobian,調用格式:jacobian([函數;函數;函數],[])給出矩陣
  • Matlab編程並繪製函數或者信號包絡線
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB的solve函數求非線性解方程或方程組
    將這兩個參數的值帶入(函數subs)S.x和S.y中,找到一個x和y的解solx=subs(S.x,S.parameters,[7/2,1/2])soly=subs(S.y,S.parameters,[7/2,1/2])%用函數vpa得到解的數值形式vpa(solx)vpa(soly)
  • MATLAB的text函數圖形標註
    matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB的stem函數繪製枝幹圖(實例加程序)
    使用 h 可在創建針狀圖後對其進行修改。實例1clc;clear all;close all;h0=figure('toolbar','none',... 'position',[200 150 450 350],...
  • MATLAB中regress函數用法(多元線性回歸)
    越小越好%F小於標準值說明擬合結果和原數據相差不大,可接受plot3(x1,x2,y,'rp')%原始數據的散點圖title('原始數據的散點圖');rcoplot(r,rint);%作殘差分析圖title('殘差圖的繪製');xlabel('數據');ylabel('殘差');z = b(1)+b(2).*x1.^2+b(3).*x2.^2+b(4).*x1+b(5).*x2+b(6).*x1.
  • MATLAB的lsqcurvefit函數擬合非線性式子中的未知參數
    往往在實際問題中都存在exp(x)、lnx、sinx等多種函數組合的非線性經驗公式。對此我們就可以通過lsqcurvefit函數進行求解,該函數的方法被稱為非線性最小二乘,損失函數一樣,只不過類似於優化算法,給定參數初始值,然後優化參數,非線性最小二乘模型如下,即目標函數。
  • MATLAB的拉格朗日插值
    許多實際問題中都用函數來表示某種內在聯繫或規律,而不少函數都只能通過實驗和觀測來了解。拉格朗日插值法可以找到一個多項式,其恰好在各個觀測的點取到觀測到的值。這樣的多項式稱為拉格朗日(插值)多項式。matlab詳細介紹畫柱形圖matlab中矩陣的入門知識matlab中legend函數的用法matlab繪圖--線性規劃圖解法示意Matlab 進度條的製作Matlab對fig文件導出數據Matlab中plot函數全功能解析Matlab的fmincon函數求解非線性規劃
  • MATLAB 蒙特卡洛方法編程並舉例分析
    前言:在計算機出現之前,我們對數學模型的研究只能通過數學推導和實驗研究兩種方法。在此之後,我們可以通過在計算機上對實際問題的模擬、仿真求解模型,蒙特卡洛法則是計算機仿真中的一個重要方法。用蒙特卡洛方法求積分
  • 數模技巧之MATLAB畫圖常用的線條符號、顏色
    2)、產生標準調色板的函數  ----    函數名      調色板  ----     Hsv     色彩飽和度,以紅色開始,並以紅色結束     Hot     黑色-紅色-黃色-白色     Cool    青藍和洋紅的色度     Pink     粉紅的色度