我有同樣的問題,因爲這個討論之前,指數超過矩陣尺寸
[這裏] Can someone explain how to graph this sum in MATLAB using contourf?
然而,現在我還沒有處理contourf,因爲我有另外兩個問題,我必須回答。
我被告知取N = 50,PHI1 = 300,PHI2 = 400,0 < = X < = 1,且0 < = Y < = 1,並讓x和y是100矢量同樣間隔點,包括終點。
和繼承人兩個問題,
一)在一個單一的數字(圖1),情節披(X,Y = 1),披(X,Y = 0.8),披(X,Y = 0.5)和phi(x,y = 0.1)。確保軸標有標籤,曲線顏色鮮明。 (x,y = 0),phi(x = 0,y)和phi(x = 1,2,..., y)作爲子圖(即4個分開的子圖)。確保一切都被貼上標籤,希臘字母phi在yaxis標籤中顯示。
我已經回答了問題a),但是當我嘗試回答問題b時,我得到了錯誤。幫幫我?
clear all
close all
clc
clear
N=50;
phi1=300;
phi2=400;
%Phix10
%Phix08
%Phix05
%Phix01
x=linspace(0,1,100);
y=linspace(0,1,100);
y=1;
for k=1:100
sum=0;
tot=0;
for n=1:N
sum= sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x(k));
end
Phi10(k)=phi1 - sum;
end
y=.8;
for k=1:100
sum=0;
tot=0;
for n=1:N
sum= sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x(k));
end
Phi08(k)=phi1 - sum;
end
y=.5;
for k=1:100
sum=0;
tot=0;
for n=1:N
sum=sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x(k));
end
Phi05(k)=phi1 - sum;
end
y=.1;
for k=1:100
sum=0;
tot=0;
for n=1:N
sum=sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x(k));
end
Phi01(k)=phi1 - sum;
end
figure(1);
plot(x,Phi10,'r');
hold on;
plot(x,Phi08,'g');
hold on;
plot(x,Phi05,'y');
hold on;
plot(x,Phi01);
hold on;
title('plotting 1');
xlabel('x');
ylabel('y');
%my answer for question b
y=1;
for k=1:100
sum=0;
tot=0;
for n=1:N
sum= sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x(k));
end
PhiB1(k)=phi1 - sum;
end
y=0;
for k=1:100
sum=0;
tot=0;
for n=1:N
sum = sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x(k));
end
PhiB2(k)=phi1 - sum;
end
x=0;
for k=1:100
sum=0;
for n=1:N
% here's where i got the error
sum = sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y(k))+(exp(n*pi)-1)*exp(-n*pi*y(k)))*sin(n*pi*x);
end
PhiB3(k)=phi1 - sum;
end
% x=1;
% for k=1:100
% sum=0;
% for n=1:N
% sum= sum + (2/n*pi)*((phi2-phi1)*((cos(n*pi)-1))/(exp(n*pi)-exp(-n*pi)))*((1-exp(-n*pi))*exp(n*pi*y)+(exp(n*pi)-1)*exp(-n*pi*y))*sin(n*pi*x);
% end
% PhiB4(k)=phi1 - sum;
% end
figure(2);
plot(x,PhiB1,'r');
hold on;
plot(x,PhiB2,'g');
hold on;
plot(x,PhiB3,'y');
hold on;
plot(x,PhiB4);
hold on;
你用'linspace'定義'y',但是你設置'y = 1'。那裏發生了什麼?另外,不要使用'sum'作爲變量。 – chappjc
我只是試圖以同樣的方式回答問題,因爲它的確行得通,但是我在修正x和y時可能會有所改變。 – user3229895
咦? 「當我修正x和y可以改變時,我有一個問題」你能解釋一下這個嗎? – chappjc