Getting Complex numbers for a (2equation+2unknown)

Hi All
I am wondering why I am getting complex numbers for this code, any help would be really appreciated.
clear
clc
close all
syms sigma a
a0=0.01;
w=0.05;
% defining the equations
F=0.265*(1-(a/w))^4 +(0.857+0.265*(a/w))*((1-(a/w))^(-3/2));
Kapp=sigma*sqrt(3.14*a)*F;
KC=110000000;
KR=KC*(4-3*exp(-(a-a0)/0.003));
diffKapp = diff(Kapp,a)
diffKR = diff(KR,a)
%solving the equations
[S, avalue] = solve([Kapp == KR, diffKapp == diffKR], [sigma, a])
double(S)
double (avalue)

 Akzeptierte Antwort

Philip Caplan
Philip Caplan am 29 Apr. 2015

0 Stimmen

You can ensure 'sigma' and 'a' are treated as real variables by declaring them slightly differently. Instead of
syms sigma a
please use
sigma = sym('sigma','real');
a = sym('a','real');
For more information on setting assumptions for symbolic variables, please see

1 Kommentar

Sia
Sia am 29 Apr. 2015
Thanks man, the problem is my equations were not linear and I had to use iteration to solve it ;)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

Sia
am 28 Apr. 2015

Kommentiert:

Sia
am 29 Apr. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by