1樓:匿名使用者
由於x,y都是正數,1-x-y一定小於1,所以你的第二個條件就是x+y<=1。那麼符合條件的x,y在一個三角形區域,t就是這個三角形區域對應的曲面。
程式如下:
[x,y]=meshgrid(0:0.01:1);
t=3273.39*x+16284.32*y+6266.
34*(1-x-y)+0.371*298.15*(x.
*log(x)+y.*log(y)+(1-x-y).*log(1-x-y));%matlab中的log就是自然對數
ii=find(x+y>=1|x==0|y==0);%找出不取值的範圍,其中x=0,y=0,x+y=1都要去掉,以防產生虛數
t(ii)=nan;
surf(x,y,t)
2樓:
你好 圖下面的藍色部分為零的部分,不滿足1-x-y在0--1之間的部分 所以不要 只要非零部分!
r=0:0.01:1;
th=linspace(0,pi/2,length(r))[r,th]=meshgrid(r,th);
t=3273.39.*r.
*cos(th)+16284.32.*(r.
*sin(th))+6266.34.*(1-r.
*cos(th)-r.*sin(th))+0.371*298.
15.*(r.*cos(th).
*log(r.*cos(th))+(r.*sin(th)).
*log(r.*sin(th))...
+(1-r.*(cos(th)+sin(th))).*log(1-r.*(cos(th)+sin(th))));
b=zeros(length(t),length(t));
for i=1:length(t)
for j=1:length(t)
if imag(t(i,j))==0;
b(i,j)=t(i,j);
endend
endb;
surf(r.*cos(th),r.*sin(th),b)執行看看吧
3樓:匿名使用者
例i=p/2vn 其中v=10的負四次方,n=200p=0:0.1:5;
v=10.^(-4);n=200;
i=p./2.*v.*n;
plot(p,i,'*')
「*」代表畫點的樣式 不用也可以直接畫出曲線
怎麼用 matlab畫出這個公式的圖,求程式設計過程
4樓:匿名使用者
哈哈,終於看到紫外災難了:
我的程式化的是以波長為橫座標的,你內要畫頻率,改下就成
容以波長畫的圖更好看
cc=3.0e8;
wl=linspace(0.1,9)*1.0e-6;
nu=cc./wl;
h=6.626e-34;
k=1.38e-23;
t1=3000;
t2=1000;
rho1=8*pi*h/cc^2*nu.^3./( exp(h*nu/k/t1)-1 );
rho2=8*pi*h/cc^2*nu.^3./( exp(h*nu/k/t2)-ones(size(nu)) );
plot(wl.*1.0e6,(rho1),'--',wl.*1.0e6,(rho2),'.')
%plot(nu,(rho1),'--',nu,(rho2),'.')
%xlabel('\nu(hz)')
xlabel('\lambada(\mum)')
ylabel('\rho')
legend('t_1=300k','t_2=1000k')
5樓:匿名使用者
很簡單,選擇v的取值範圍,分別用t=300和t=1000算出兩個陣列ρ1,ρ2,然後用plot函式就好了
用matlab畫這個的影象,怎麼程式設計
6樓:匿名使用者
用matlab繪製微分方程組數值解x1(t)和x2(t)的圖形。可以按下列方法來解決。
1、建立微分方程組自定義函式,ode_fun(t,x)
2、呼叫 ode45(…)函式命令,求解此微分方程組,得到x1(t),x2(t)
3、呼叫plot(…)函式命令,繪製x1(t)和x2(t)的圖形
按此思路程式設計,執行可得到如下圖形。
7樓:藤原子大雄
隨機變數小於或者等於某個數值的概率p(x<=x),即:f(x) = p(x<=x)
累積分佈函式(cumulative distribution function):對連續函式,所有小於等於a的值,其出現概率的和。f(a)=p(x<=a)
根據這張累積分佈函式圖,可以很方便地回答之前的兩個問題:
1)cdf中橫軸上的2對應的y值約為0.98,因此所有大於2的資料點所佔比例約為2%。
2)cdf中橫軸上的1.3對應的y值約為0.75,因此所有介於1.3和2之間的資料點所佔比例約為23% (0.98-0.75)。
與直方圖、核密度估計相比,累積分佈函式存在以下幾個特點:
累積分佈函式是x軸單調遞增函式。
累積分佈函式更加平滑,影象中噪音更小。
累積分佈函式沒有引入頻寬等外部概念,因此不會丟失任何資料資訊。對於給定的資料集,累積分佈函式是唯一的。
累積分佈函式一般都經過歸一化處理,單調遞增且趨近於1。
下面我們來講一下怎麼用matlab來畫我們的累計分佈圖.
比如我們有一組csv的資料,我們把這個儲存這個資料的檔案取名叫做test.csv
116,218,119
123,219,106
113,219,119
117,232,105
118,208,117
116,222,106
117,221,119
129,232,108
124,234,118
124,234,107
132,234,117
125,226,106
135,225,112
126,231,107
134,250,113
141,223,107
118,260,113
117,249,107
112,261,118
118,234,107
118,257,119
119,256,105
117,281,118
129,266,107
131,260,119
143,239,105
128,263,120
135,267,107
127,259,118
119,285,103
159,269,119
138,264,106
142,259,122
128,285,111
158,269,133
129,264,106
130,259,124
137,228,105
139,262,126
130,249,111
114,275,117
126,227,107
119,230,118
118,224,107
130,226,118
126,227,106
129,264,114
125,254,106
132,252,114
130,229,106
135,229,117
121,251,108
129,243,119
125,226,105
113,275,114
120,255,104
111,274,119
118,255,107
115,274,120
129,260,107
126,249,119
135,235,109
136,281,125
132,266,106
134,263,122
123,255,108
129,258,116
127,264,105
113,257,122
115,264,102
129,257,133
126,275,104
126,272,123
122,260,108
128,256,120
117,265,105
117,254,122
117,263,109
123,238,125
130,285,106
130,282,121
152,251,106
131,233,111
現在我們就是要用這個資料畫一組cdf影象.
首先開啟檔案把資料讀取出來c = textscan(fid, '%f %f %f', 'delimiter',',');
fcolse(fid); %之後把資料掃描進c這個變數中,我們是按照浮點型別的形式來處理我們的資料的%由於我們的資料有三列,所有我們這裡取了三個%f出來,根據不同的資料我們取不同的格式說明符號.可以用類似c語言.每個資料之間是按照","來做分割.
%delimiter表示的是取某些分割符來切分資料,再後面我們寫逗號,表示按照逗號來分割資料data1 = deal(c);% 每一列資料表示的一次隨機實驗中取到的隨機變數,所以我們分別處理%這三組資料,以此類推.data2 = deal(c);
data3 = deal(c);
cdfplot(data1);% 在matlab中畫圖我們使用cdfplot,這個命令set(h1,'color','b','linewith',3);
用matlab進行m檔案操作與畫圖,繪圖的,我要程式過程,都是程式設計題.
8樓:匿名使用者
x=1;
y=2;
theta=pi/10;
r=0.5;
axis equal
t = linspace(0+theta,2*pi+theta,6);
xr = x+r*cos(t);
yr = y+r*sin(t);
xk = zeros(1,11);
yk = zeros(1,11);
xk(1) = xr(1); yk(1) = yr(1); [xk(2) yk(2)] = crosspoint([xr(1) yr(1)],[xr(3) yr(3)],[xr(2) yr(2)],[xr(5) yr(5)]);
xk(3) = xr(2); yk(3) = yr(2); [xk(4) yk(4)] = crosspoint([xr(2) yr(2)],[xr(4) yr(4)],[xr(1) yr(1)],[xr(3) yr(3)]);
xk(5) = xr(3); yk(5) = yr(3); [xk(6) yk(6)] = crosspoint([xr(2) yr(2)],[xr(4) yr(4)],[xr(3) yr(3)],[xr(5) yr(5)]);
xk(7) = xr(4); yk(7) = yr(4); [xk(8) yk(8)] = crosspoint([xr(3) yr(3)],[xr(5) yr(5)],[xr(1) yr(1)],[xr(4) yr(4)]);
xk(9) = xr(5); yk(9) = yr(5); [xk(10) yk(10)] = crosspoint([xr(1) yr(1)],[xr(4) yr(4)],[xr(2) yr(2)],[xr(5) yr(5)]);
xk(11)=xk(1);yk(11)=yk(1);
plot(xk,yk);
%fill(xk,yk,'w')
axis equal
axis off;
需要另寫一個函式,計算交叉點
function [x,y]=crosspoint(p1,p2,p3,p4)
x1 = p1(1); y1 = p1(2);
x2 = p2(1); y2 = p2(2);
x3 = p3(1); y3 = p3(2);
x4 = p4(1); y4 = p4(2);
if x1==x2
x = x1;
k2 = (y4-y3)/(x4-x3);
y = k2*(x-x3)+y3;
elseif x3==x4
x = x3;
k1 = (y2-y1)/(x2-x1);
y = k1*(x-x1)+y1;
else
k1 = (y2-y1)/(x2-x1);
k2 = (y4-y3)/(x4-x3);
sol = [-k1 1;-k2 1]\[y1-k1*x1;y3-k2*x3];
x = sol(1);y = sol(2);
endend
%圓球syms x y z;
f=x^2+y^2+z^2-16;
nv=jacobian(f,[x y z]);
[x,y,z]=sphere;
surf(4*x,4*y,4*z);
shading interp
%指定某點
x=-1;y=-2;z=sqrt(16-x^2-y^2);
nv=double(subs(nv));
hold on;
quiver3(x,y,z,nv(1),nv(2),nv(3),.5);%法向量
t=-1:.5:1;
[xx,yy]=meshgrid(t+x,t+y);
zz=-(nv(1)*(xx-x)+nv(2)*(yy-y))/nv(3)+z;
mesh(xx,yy,zz);%切平面
clear all;
close all;
figure;hold on;
x1=[0 10 10 0 0];
y1=[0 0 0 0 0];
z1=[0 0 10 10 0];
x2=[10 10 10 10 10];
y2=[0 10 10 0 0];
z2=[0 0 10 10 0];
x3=[0 10 10 0 0];
y3=[10 10 10 10 10];
z3=[0 0 10 10 0];
x4=[0 0 0 0 0];
y4=[0 10 10 0 0];
z4=[0 0 10 10 0];
plot3(x1,y1,z1,'color',[0 0 0]);
plot3(x2,y2,z2,'color',[0 0 0]);
plot3(x3,y3,z3,'color',[0 0 0]);
plot3(x4,y4,z4,'color',[0 0 0]);
% plot3(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,'color',[0 0 0]);
view(3);
x=0:0.1:10;
z=0.4.*(x-5).^2;
y=zeros(length(x));
hold on;
plot3(x,y,z);
y=10.*ones(length(x));
plot3(x,y,z);
y=0:0.1:10;
z=0.4.*(y-5).^2;
x=zeros(length(x));
plot3(x,y,z);
x=10.*ones(length(x));
plot3(x,y,z);
set(gca,'xtick',,'xticklabel',);
set(gca,'ytick',,'yticklabel',);
set(gca,'ztick',,'zticklabel',);
如何用matlab畫zernike曲面
可用最小二乘法擬合。建議直接用matlab的擬合其中x,y,z的值都是給出的,z xy 0 20 40 60 80 1000 3.7麻煩高手寫出具體的程式設計啊,謝謝 問題補充 不好意思x 0 20 40 60 80 100 y 0 50 100 150 200 250 300 z 3.7 擬合成z...
如何用matlab畫u函式的影象
設u n 的解析形式可以用函式fun表示,即u n fun n n 0 100 n 0 100u fun n 求值 stem n,u 畫圖 如何用matlab畫引數函式的影象 plot是繪製二維圖形的最基本函式,它是針對向量或矩陣的列來繪製曲線的。使用plot 函式之前,必須首先定義好曲線上每一點的...
如何用matlab畫離散的函式影象
第一步 copy開啟matlab,在命令列窗bai口中輸入 x 1 6 7 9 10 12 y 2 7 9 12 16 19 建立du離散點資料,需要注意zhix,y長度一致,如下圖所dao示 第二步 輸入plot x,y,r.其中r是代表紅色,後面的點是繪製的離散點形狀,如下圖所示 第三步 按回車...