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)

 채택된 답변

Philip Caplan
Philip Caplan 2015년 4월 29일

0 개 추천

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

Sia
Sia 2015년 4월 29일
Thanks man, the problem is my equations were not linear and I had to use iteration to solve it ;)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

Sia
2015년 4월 28일

댓글:

Sia
2015년 4월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by