1. 程式人生 > >matlab 繪製函式 y = 7x / (8-7*x) 的圖形

matlab 繪製函式 y = 7x / (8-7*x) 的圖形

任務:繪製函式 y = 7x / (8-7*x) 的圖形

備註:程式碼表示形式為VBScript

最終正確形式:

clc;
x = 0:0.01:1;
y = (7*x)./(8-7*x)
plot(x,y)
xlabel('向量化百分比');
ylabel('加速比');
axis([0 1 0 7]);
grid on

錯誤形式1:x = 0:1;

% matlab程式

clc;
x = 0:1;
y1 = 7*x
y2 = 8-7*x
y = y1 ./ y2
%axis([xmin xmax ymin ymax]) %xmin是x最小,xmax是x最大,ymin,ymax類似
subplot(311);plot(x,y1)
subplot(312);plot(x,y2)
subplot(313);plot(x,y)
axis([0 1 0 7]);
grid on  %繪製網格線

結果如下:

           

分析:這種形式下x是一個1*2矩陣,只有兩個元素,分別是0和1;所以繪製出的曲線直接將x為0和1表示的點進行連線,故而是一條直線

錯誤形式2:x = rand(3);

% matlab程式

clc;
x = rand(3);
y1 = 7*x
y2 = 8-7*x
y = y1 ./ y2
%axis([xmin xmax ymin ymax]) %xmin是x最小,xmax是x最大,ymin,ymax類似
subplot(311);plot(x,y1)
subplot(312);plot(x,y2)
subplot(313);plot(x,y)
axis([0 1 0 7]);
grid on

           

分析:rand(a,b):產生a行b列由在(0, 1)之間均勻分佈的隨機陣列成的陣列。

正確形式:x = 0:0.01:1;

% matlab程式

clc;
x = 0:0.01:1;
y1 = 7*x
y2 = 8-7*x
y = y1 ./ y2
%axis([xmin xmax ymin ymax]) %xmin是x最小,xmax是x最大,ymin,ymax類似
subplot(311);plot(x,y1)
subplot(312);plot(x,y2)
subplot(313);plot(x,y)
axis([0 1 0 7]);
grid on