решить уравнение с помощью MATLAB решить - PullRequest
1 голос
/ 27 апреля 2020

У меня есть следующее уравнение, которое я хочу решить с помощью MATLAB:

enter image description here

X - неизвестная переменная. Я пытаюсь решить эту проблему, используя MATLAB solve, но мне трудно кодировать левую часть уравнения.

Можно ли использовать solve? Есть ли другие варианты?

РЕДАКТИРОВАТЬ

Поскольку A и B зависят соответственно от j и i Я попытался поместить их в векторы следующим образом:

A = [A(1) ... A(j) ... A(N)]
B = [B(1) ... B(i) ... B(N)]

Я пытался создать что-то похожее на это:

eqn = sum(A ./ sum(B .* D)) == C;
solve(eqn);

, но вся сложность заключается в этой части:

enter image description here

, потому что это зависит от i и j.

1 Ответ

1 голос
/ 27 апреля 2020

Чтобы написать уравнение, вы можете использовать этот код:

syms x real
C = 1;
beta = 10;
alph = 0.5;

N = 10;
lenA = N;
lenB = N;

A = rand(1,N);
B = rand(1,N);

eq = 0;
for j=2:N
    eqaux = 0;
    for i=1:N
        eqaux = eqaux+B(i)/((alph+beta*x)^(i+j+1));
    end
    eq = eq+A(j)/eqaux;
end
eq = simplify(eq==C);

Если x должно быть комплексным числом, удалите вещественное значение syms x real.

. Для решения уравнения используйте этот код:

sol = solve(eq,x);
sol = vpa(sol);

Конечно, вы должны использовать ваши собственные значения C, alph, beta, A, B и N.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...