[問題] 請問function內可以寫case的指令嗎?已回收
小弟我的程式架構大概如下
function [lambda_n_all,phi_n,phi_n_all,xn,xx] =
find_exact_basis(L,dx,left_point,right_point,mode_n)
xx = left_point : dx : right_point;
xn = length(xx);
case1
for n = 1 : mode_n
lambda_n = (n*pi/L)^2;
phi_n = sin((n*pi/L)*xx);
lambda_n_all(:,n) = lambda_n
phi_n_all(:,n) = phi_n
end
case 2
for n = 1 : mode_n
lambda_n = ((n-1)*pi/L)^2;
phi_n = cos(((n-1)*pi/L)*xx);
lambda_n_all(:,n) = lambda_n
phi_n_all(:,n) = phi_n
end
case 3
for n = 1 : mode_n
lambda_n = ((2*n-1)*pi/(2*L))^2;
phi_n = sin(((2*n-1)*pi/(2*L))*xx);
lambda_n_all(:,n) = lambda_n
phi_n_all(:,n) = phi_n
end
有3個case,這3個case不同時執行。
比如說我今天要執行第2個case,
我要如何讓主程式中的
[lambda_n_all,phi_n,phi_n_all,xn,xx] =
find_exact_basis(L,dx,left_point,right_point,mode_n)
知道要去執行第2個case
是否可以寫成如下:(不能執行)
[lambda_n_all,phi_n,phi_n_all,xn,xx] =
find_exact_basis(L,dx,left_point,right_point,mode_n,case1)
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
主程式如下
left_point = 0;
right_point = 10;
L = right_point - left_point;
nn = 10;
dx = L/nn;
mode_n = 3
[lambda_n_all,phi_n,phi_n_all,xn,xx] =
find_exact_basis(L,dx,left_point,right_point,mode_n);
謝謝各位高手!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.155.149
→
08/08 00:49, , 1F
08/08 00:49, 1F
→
08/08 09:33, , 2F
08/08 09:33, 2F