Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Why do I get the error "Array indices must either be real positive integers or logical"?

1 回表示 (過去 30 日間)
MOHAMMED ISMAIL S
MOHAMMED ISMAIL S 2018 年 8 月 10 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
I have the following code (below). Why do I get the error "Array indices must either be real positive integers or logicals"?
clear all
clc
syms f(x) m b
Df = diff(f(x),x);
D2f = diff(f(x),x,2);
y = diff(f(x),x,3)-m^2*diff(f(x),x,1)+(1/2)*f(x)*((b/(2*m))*exp(m*x)-(b/(2*m))*exp(-m*x))
cond1 = f(0)== 0;
cond2 = Df(0)== 0;
cond3 = D2f(0)== 1;
conds = [cond1 cond2 cond3];
fsol(x) = dsolve(y, conds)

回答 (1 件)

Ameer Hamza
Ameer Hamza 2018 年 8 月 10 日
Change the following lines in your code as follow
Df = diff(f,x);
D2f = diff(f,x,2);
i.e. remove the (x). It will remove the error but still dsolve() is not able to find an analytical solution. You might need a numerical solver e.g. ode45().

タグ

タグが未入力です。

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by