[問題] 請問function內可以寫case的指令嗎?已回收

看板MATLAB作者 (小黑)時間15年前 (2010/08/08 00:34), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
小弟我的程式架構大概如下 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
help switch
08/08 00:49, 1F

08/08 09:33, , 2F
doc switch ...
08/08 09:33, 2F
文章代碼(AID): #1CNOhzHN (MATLAB)