| 查看: 3594 | 回復: 12 | |||
[求助]
matlab使用自定義函數(shù)文件擬合出現(xiàn)錯誤 已有1人參與
|
|
代碼如下,x,y是想要擬合的曲線對應的x,y值;L1,L2是想要擬合的參數(shù); 下面就是一系列的矩陣計算,通過x求得y 使用ft=fittype('c(x,,L1,L2)'); 出現(xiàn)錯誤: 錯誤使用 fittype/testCustomModelEvaluation (line 12) Expression c(x,L1,L2) is not a valid MATLAB expression, has non-scalar coefficients, or cannot be evaluated: Error in fittype expression ==> c(x,L1,L2) ??? 索引超出矩陣維度。 出錯 fittype>iCreateFittype (line 371) testCustomModelEvaluation( obj ); 出錯 fittype (line 328) obj = iCreateFittype( obj, varargin{:} ); 原因: 錯誤使用 fittype/evaluate (line 102) Error in fittype expression ==> c(x,L1,L2) ??? 索引超出矩陣維度。 怎么解決這個問題?還有其他擬合辦法嗎?求助好心的壇友~~~~~~~~~~~~~~~~~~~ ![]() ![]() function [ y ] = c(x,L1,L2) %UNTITLED2 此處顯示有關此函數(shù)的摘要 % 此處顯示詳細說明 m=20; % number of section n1 = 2.8924; %AlAs n2 = 3.3702; %GaAS na=1; ns=n2; ra=(na-n2)/(na+n2); r=(n2-n1)/(n2+n1); ta=sqrt(1-ra^2); t=sqrt(1-r^2); y=zeros(1,2500); ab1=0; ab2=0; for kl=1:2500 beta1 = 2*pi*n1/x(kl)-1i*ab1/2; beta2 = 2*pi*n2/x(kl)-1i*ab2/2; T11_a = exp(1i*beta2*L2)/ta; T12_a = ra*exp(-1i*beta2*L2)/ta; T21_a = ra*exp(1i*beta2*L2)/ta; T22_a = exp(-1i*beta2*L2)/ta; T=[T11_a,T12_a;T21_a,T22_a]; for k=1:m-1 T11_n2 = exp(1i*beta1*L1)/t; T12_n2 = r*exp(-1i*beta1*L1)/t; T21_n2 = r*exp(1i*beta1*L1)/t; T22_n2 = exp(-1i*beta1*L1)/t; T_n2=[T11_n2,T12_n2;T21_n2,T22_n2]; T=T*T_n2; T11_n1 = exp(1i*beta2*L2)/t; T12_n1 = -r*exp(-1i*beta2*L2)/t; T21_n1 = -r*exp(1i*beta2*L2)/t; T22_n1 = exp(-1i*beta2*L2)/t; T_n1=[T11_n1,T12_n1;T21_n1,T22_n1]; T=T*T_n1; end T11_n2 = exp(1i*beta1*L1)/t; T12_n2 = r*exp(-1i*beta1*L1)/t; T21_n2 = r*exp(1i*beta1*L1)/t; T22_n2 = exp(-1i*beta1*L1)/t; T_n2=[T11_n2,T12_n2;T21_n2,T22_n2]; T=T*T_n2; T_12=[1/t,-r/t;-r/t,1/t]; % from n1 to n2, just cross the interface T = T*T_12; T11_c = exp(1i*beta2*2*L2); T12_c = 0; T21_c = 0; T22_c = exp(-1i*beta2*2*L2); T_c = [T11_c,T12_c;T21_c,T22_c]; % n2 cavity T = T*T_c; for k=(1:m) T11_n2 = exp(1i*beta1*L1)/t; T12_n2 = r*exp(-1i*beta1*L1)/t; T21_n2 = r*exp(1i*beta1*L1)/t; T22_n2 = exp(-1i*beta1*L1)/t; T_n2=[T11_n2,T12_n2;T21_n2,T22_n2]; T=T*T_n2; T11_n1 = exp(1i*beta2*L2)/t; T12_n1 = -r*exp(-1i*beta2*L2)/t; T21_n1 = -r*exp(1i*beta2*L2)/t; T22_n1 = exp(-1i*beta2*L2)/t; T_n1=[T11_n1,T12_n1;T21_n1,T22_n1]; T=T*T_n1; end T11_n2 = exp(1i*beta1*L1)/t; T12_n2 = r*exp(-1i*beta1*L1)/t; T21_n2 = r*exp(1i*beta1*L1)/t; T22_n2 = exp(-1i*beta1*L1)/t; T_n2=[T11_n2,T12_n2;T21_n2,T22_n2]; T=T*T_n2; T_12=[1/t,-r/t;-r/t,1/t]; T = T*T_12; T11_c = exp(1i*beta2*9*L2); T12_c = 0; T21_c = 0; T22_c = exp(-1i*beta2*9*L2); T_c = [T11_c,T12_c;T21_c,T22_c]; % n2 cavity T = T*T_c; T11_n2 = exp(1i*beta1*L1)/t; T12_n2 = r*exp(-1i*beta1*L1)/t; T21_n2 = r*exp(1i*beta1*L1)/t; T22_n2 = exp(-1i*beta1*L1)/t; T_n2=[T11_n2,T12_n2;T21_n2,T22_n2]; T=T*T_n2; rs1=(n1-ns)/(ns+n1); ts1=sqrt(1-rs1^2); T11_s = 1/ts1; % n1 to substrate T12_s = rs1/ts1; T21_s = rs1/ts1; T22_s = 1/ts1; T_s = [T11_s,T12_s;T21_s,T22_s]; T=T*T_s; y(kl) = (abs(T(2,1)/T(1,1)))^2; end end ![]() ![]() |
學習方法 |
專家顧問 (正式寫手)
![]() |
專家經(jīng)驗: +52 |

專家顧問 (正式寫手)
![]() |
專家經(jīng)驗: +52 |

|
我把想x,y L1 L2的值都寫在excel里面了 多謝。。! |
專家顧問 (正式寫手)
![]() |
專家經(jīng)驗: +52 |

專家顧問 (正式寫手)
![]() |
專家經(jīng)驗: +52 |

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 295材料求調(diào)劑,一志愿武漢理工085601專碩 +4 | Charlieyq 2026-03-19 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 296求調(diào)劑 +4 | www_q 2026-03-18 | 8/400 |
|
|
[考研] 一志愿南昌大學,327分,材料與化工085600 +5 | Ncdx123456 2026-03-19 | 5/250 |
|
|
[考研]
|
不想起名字112 2026-03-19 | 3/150 |
|
|
[考研] 085601材料工程專碩求調(diào)劑 +10 | 慕寒mio 2026-03-16 | 10/500 |
|
|
[考研] 266求調(diào)劑 +5 | 陽陽哇塞 2026-03-14 | 10/500 |
|
|
[考研] 材料與化工求調(diào)劑 +7 | 為學666 2026-03-16 | 7/350 |
|
|
[考研] 286求調(diào)劑 +6 | lemonzzn 2026-03-16 | 10/500 |
|
|
[考研] 0703化學調(diào)劑 +5 | pupcoco 2026-03-17 | 8/400 |
|
|
[考研] 287求調(diào)劑 +3 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 材料專業(yè)求調(diào)劑 +5 | hanamiko 2026-03-18 | 5/250 |
|
|
[考研] 085601專碩,總分342求調(diào)劑,地區(qū)不限 +5 | share_joy 2026-03-16 | 5/250 |
|
|
[考研] 302求調(diào)劑 +10 | 呼呼呼。。。。 2026-03-17 | 10/500 |
|
|
[考研]
|
胡辣湯放糖 2026-03-15 | 6/300 |
|
|
[考研] 278求調(diào)劑 +5 | 煙火先于春 2026-03-17 | 5/250 |
|
|
[考研] 材料專碩326求調(diào)劑 +6 | 墨煜姒莘 2026-03-15 | 7/350 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 326求調(diào)劑 +4 | 諾貝爾化學獎覬?/a> 2026-03-15 | 7/350 |
|
|
[考研] 070303 總分349求調(diào)劑 +3 | LJY9966 2026-03-15 | 5/250 |
|
|
[考研] 289求調(diào)劑 +4 | 這么名字咋樣 2026-03-14 | 6/300 |
|