[問題] function一個變數設定一問已回收
我想寫的程式是利用自己寫一個function y=g(x)的m file
然後讓內建的fsolve去解我的函數g
可是我的變數相當複雜,所以我有在外面寫了一些變數像是qD,qM,zD,zM,phiD,phiM
主要就是因為y是一個很複雜的變數>"<
程式碼如下
##
function y=g(x)
m=1
a=100
wavelength=647;
k0=2*pi/wavelength;
episonD=2.25;
episonM=-16.8617+i*1.139;
qD=(x^2-episonD).^0.5;
qM=(episonM-x^2).^0.5;
zD=k0*qD*a;
zM=k0*qM*a;
phiD=(m-zD*besselk(m+1,zD)/besselk(m,zD));
phiM=(m-zM*besselj(m+1,zM)/besselj(m,zM));
y=((qD^2*phiM+qM^2*phiD)*(episonM*qD^2*phiM+episonD*qM^2*phiD)/
(m^2*(episonD-episonM)))^0.5;
##
我遇到的第一個問題就是當他讀到 qD 他會說我裡面的x沒有定義,
但是我加了syms x在最前面我可以看到最後y以一堆數字和x表示的方法。
但是如果以 function y=g(x)時後,x不就在整個file就會寫成變數嗎?
還是我搞錯了>"< 煩請高手指點
但是當我用fsolve去解g這個函數時又會發生了錯誤,
"??? Function 'norm' is not defined for values of class 'sym'."
我現在想得到的只有bessel會造成裡面可能為0/0
可是我還是不大懂那個錯誤的意思>"<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.162.108
推
03/01 19:12, , 1F
03/01 19:12, 1F
→
03/01 19:18, , 2F
03/01 19:18, 2F
→
03/01 19:18, , 3F
03/01 19:18, 3F
推
03/01 19:36, , 4F
03/01 19:36, 4F
→
03/01 20:36, , 5F
03/01 20:36, 5F
※ 編輯: louchanfan 來自: 140.113.162.108 (03/02 01:24)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章