error: matrix dimensions must agree
Mostra commenti meno recenti
Hi
I am banging my head over this least square curve fitting even when following the simplest procedure I found. The error says,
"Error using /
Matrix dimensions must agree." - in line where the function 'func' is defined. Anyone have answers?
Thanks
clc
close all
clear
background = csvread(['C:\Users\shadh\Downloads\vnaSweep\ar2000mT\5.5mm length\0.1mmReCal\0w\0SM.csv'],3,0,[3,0,1603,2]);
backgroundImpIm = background(:,3);
f = background(:,1);
freq = f(100:1601);
x0 = [1,1];
h = 5E-3;
a = 5E-5;
m_e = 9.1E-31;
q = 1.6E-19;
c = 3E8;
omega = 2*pi*freq;
k_0 = omega/c;
beta = k_0;
epsilon_real = 1;
epsilon_im = 0;
x = epsilon_im./epsilon_real;
func = @(K_a,freq)(-K_a./(tan(2*pi*freq*h*(1 + 0.19/((K_a/60 +1) - 0.81))/c)));
K_a = lsqcurvefit(func,x0,freq,backgroundImpIm(100:1601))
Risposta accettata
Più risposte (1)
James Tursa
il 23 Giu 2023
Modificato: James Tursa
il 23 Giu 2023
I would presume you may need element-wise operators. Try this:
func = @(K_a,freq)(-K_a./(tan(2*pi*freq*h.*(1 + 0.19./((K_a/60 +1) - 0.81))/c)));
3 Commenti
sxh
il 23 Giu 2023
James Tursa
il 23 Giu 2023
Type the following at the command line:
dbstop if error
Then run your code. When the error happens, the program will pause with all variables intact. Examine them to figure out which variables are causing the dimension problem, then backtrack in your code to figure out why the dimensions are not what you expected.
sxh
il 23 Giu 2023
Categorie
Scopri di più su Linear Predictive Coding in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!