1樓:匿名使用者
用matlab繪製微分方程組數值解x1(t)和x2(t)的圖形。可以按下列方法來解決。
1、建立微分方程組自定義函式,ode_fun(t,x)
2、呼叫 ode45(…)函式命令,求解此微分方程組,得到x1(t),x2(t)
3、呼叫plot(…)函式命令,繪製x1(t)和x2(t)的圖形
按此思路程式設計,執行可得到如下圖形。
2樓:藤原子大雄
隨機變數小於或者等於某個數值的概率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影象.
%read data into matirx%http function fid = fopen('./test.csv','rt'); %首先開啟檔案把資料讀取出來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畫圖,請問該如何編寫程式? 30
3樓:匿名使用者
意思是我如果寫出這個程式了,完全符合你的要求,可以得到比20分更多的獎勵分?
現在我寫好了。我設定的m取值從0-1(不含1),pf是一個上凸的單調減曲線,取值從1.8左右減小到0左右。
用matlab進行m檔案操作與畫圖,繪圖的,我要程式過程,都是程式設計題.
4樓:匿名使用者
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這個分段函式影象怎麼畫
這是一個很典型的問題哈 問題出在這裡 myfun的輸入x你是當做單個數字來處理的,而實際你plot x,myfun x 裡的x是一個陣列,所以在myfun的if判斷裡,只取了第一個元素x 1 做判斷,然後用判斷的結果來計算所有的x i 你要寫成這樣,我寫個簡單點的,你自己照著改x 1 0.1 1 y...
為什麼這個matlab沒有影象,MATLAB中怎麼沒有顯示影象啊?
你這個x.y1.y2.y3都是乙個值,畫出圖來就是乙個點。clear clcc1 2 c2 3 sig1 2 sig2 4 x 10 c1 y1 exp x c1 2 2 sig1 2 subplot 311 plot x,y1 axis 10,50,0,1 title gaussian mf wh...
求問y e x影象怎麼畫,x y z影象怎麼畫
函小苼 y e x x y e x x e x x e x x 1 x 令y 0,解得x 1 x 1 時,y 0 x 1 時,y 0 故函式 y e x x 在 x 1 處取得極小值 y e在 1,單調遞增,y 0,圖象在第一象限在 0 單調遞減,y 0,圖象在第三象限在 0,1 單調遞減,y 0,...