| 5 | 1/1 | 返回列表 |
| 查看: 3599 | 回復: 12 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
[求助]
matlab使用自定義函數文件擬合出現錯誤 已有1人參與
|
|||
|
代碼如下,x,y是想要擬合的曲線對應的x,y值;L1,L2是想要擬合的參數; 下面就是一系列的矩陣計算,通過x求得y 使用ft=fittype('c(x,,L1,L2)'); 出現錯誤: 錯誤使用 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 此處顯示有關此函數的摘要 % 此處顯示詳細說明 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 ![]() ![]() |
學習方法 |
專家顧問 (正式寫手)
![]() |
專家經驗: +52 |

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

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿西南交通 專碩 材料355 本科雙非 求調劑 +5 | 西南交通專材355 2026-03-19 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 求調劑 +5 | Mqqqqqq 2026-03-19 | 5/250 |
|
|
[考研] 一志愿西安交通大學 學碩 354求調劑 +3 | 我想要讀研究生 2026-03-20 | 3/150 |
|
|
[考研] 材料080500調劑求收留 +8 | 一顆meteor 2026-03-13 | 8/400 |
|
|
[考研] 一志愿吉林大學材料學碩321求調劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 261求B區(qū)調劑,科研經歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[考研] 招收調劑碩士 +4 | lidianxing 2026-03-19 | 12/600 |
|
|
[考研] 能源材料化學課題組招收碩士研究生8-10名 +5 | 脫穎而出 2026-03-16 | 14/700 |
|
|
[考研] 085410人工智能專碩317求調劑(0854都可以) +4 | xbxudjdn 2026-03-18 | 4/200 |
|
|
[考研] 081700化工學碩調劑 +3 | 【1】 2026-03-16 | 3/150 |
|
|
[考研] 0703化學調劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 324分 085600材料化工求調劑 +3 | llllkkkhh 2026-03-18 | 3/150 |
|
|
[考研] 346求調劑[0856] +3 | WayneLim327 2026-03-16 | 6/300 |
|
|
[考研] 0854可跨調劑,一作一項核心論文五項專利,省、國級證書40+數一英一287 +8 | 小李0854 2026-03-16 | 8/400 |
|
|
[考研] 0703化學調劑 +3 | 妮妮ninicgb 2026-03-17 | 3/150 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[考研] 301求調劑 +9 | yy要上岸呀 2026-03-17 | 9/450 |
|
|
[考研] 290求調劑 +3 | p asserby. 2026-03-15 | 4/200 |
|
|
[考研] 中科院材料273求調劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 復試調劑 +3 | 呼呼?~+123456 2026-03-14 | 3/150 |
|