我正在使用来自https://matlab.mathworks.com/的 matlab
有什么方法可以从那里使用 git 吗?界面似乎不是很有趣。Matlab 帮助假定您有本地 matlab 安装。
我正在使用来自https://matlab.mathworks.com/的 matlab
有什么方法可以从那里使用 git 吗?界面似乎不是很有趣。Matlab 帮助假定您有本地 matlab 安装。
我在 MatLab 上运行了这段代码:
function main
fimplicit (@(x,y)f(x,y),[2 5])
end
function fun = f(x,y)
nc=1.45; %cladding
nf=1.5;
ns=1.4; %substrate
h=5; %width of waveguide
kappa=sqrt(x^2*nf^2-y.^2);
gammas=sqrt(y^2-x^2*ns^2);
gammac=sqrt(y^2-x^2*nc^2);
z=sin(h.*kappa);
%TE mode
fun=z.*(kappa.^2-gammas.*gammac)-cos(h.*kappa).*(gammac+gammas).*kappa;
end
在 (2.5,3.5) 附近放大时:
现在我怎么知道这三个中哪一个是正确的,有没有办法摆脱这种错误的情节?
同样在 Desmos
我正在尝试获得像这样的板波导色散图(虚线): 我在 Matlab 中尝试了以下代码:
function main
fimplicit (@(x,y)f(x,y),[0 10])
end
function fun = f(x,y)
nc=1.45; %cladding
nf=1.5;
ns=1.4; %substrate
h=5; %width of waveguide
beta=sqrt(x^2*nf^2-y.^2);
gammas=sqrt(beta.^2-x^2*ns^2);
gammac=sqrt(beta.^2-x^2*nc^2);
z=sin(h*y);
%TE mode
fun=z-cos(h*y)*(gammac+gammas)./(y-gammas.*gammac./y);
end
使用 Desmos:
使用数学:
nc = 1.45;
nf = 1.5;
ns = 1.4;
h = 5;
ContourPlot[
Sin[h y]*(y^2 - (Sqrt[x^2*(nf^2 - nc^2) - y^2]*
Sqrt[x^2*(nf^2 - ns^2) - y^2])) ==
Cos[h y]*(Sqrt[x^2*(nf^2 - nc^2) - y^2] +
Sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0.1, 10}]
所有的地块都与预期的形式非常吻合。 然而,每个分支的原始图都有不同的颜色,我如何在 MatLab、Desmos 或 Mathematica 中实现它?
我正在尝试解决以下等式:x^4 - 3*x^3 + x^2 - 1
通过这样做:solve(x^4 - 3*x^3 + x^2 - 1 == 0)
我期望两个实数解决方案或四个解决方案,其中两个是实数,两个解决方案是虚数:(都是估计值)-0.57, 2.68, 0.45 + 0.67i, 0.45 - 0.67i。相反,我得到以下
ans =
root(z^4 - 3*z^3 + z^2 - 1, z, 1)
root(z^4 - 3*z^3 + z^2 - 1, z, 2)
root(z^4 - 3*z^3 + z^2 - 1, z, 3)
root(z^4 - 3*z^3 + z^2 - 1, z, 4)
为什么我得到一个变量 z 的根,这种“root(eqation, z, num)”的格式是什么意思?
有人可以解释一下这段代码吗?
meas.jerk.time = (meas.acc.time(1:end-1) + meas.acc.time(2:end)) ./ 2;
假设 meas.acc.data 和 meas.acc.time 是元素个数相同的向量,那么数据向量上的 diff 会返回比时间向量少一个元素的数值向量,所以 meas.jerk.data 和 meas .jerk.time 的大小可能不匹配。
但是 idk 这段代码的语法。(1:end-1) 或 (2:end) ./2 是什么意思?
这让我发疯,我只是想使用 Matlab 的拟合函数 (r2017a) 将高斯曲线拟合到某些数据。
gaussEqn = 'a*exp(-((x-b)/c)^2)+d'
f = fit(x,y,gaussEqn);
但我得到这个错误:
Error using fit>iFit (line 340)
Invalid data type. Second argument must be numeric or logical.
然而我的变量都是数字......
whos x
Name Size Bytes Class Attributes
x 101x1 808 double
和
whos y
Name Size Bytes Class Attributes
y 101x1 808 double
为什么发生这种情况?此时,我将使用不同的函数来拟合我的数据,但它没有任何意义(并且无法访问内部拟合函数 iFit)
要求编辑:
x 和 y 变量是时间和感兴趣矩阵的平均值;x 例如:
fs = 1000;
w = .1;
t = (-w:1/fs:0) * 1000; x = t';
y 变量有点复杂,它是估计神经滤波器的均值,由我编写的另一个函数计算得出:
STA = genSTA(find(spkV),NSr(:,:,stimI),w,fs);
whos STA
Name Size Bytes Class Attributes
STA 25x101 20200 double
y = mean(STA,1);
whos y
Name Size Bytes Class Attributes
y 101x1 808 double