How to fix 'unable to find explicit solution'

clear ;
%beam elements
d=550;Ast=1963;b=300;fck=30;D=600; l=4000;
n1=28; n=200;
syms fc(x)
fc(x)=0.447*fck*(1-((x/0.002)-1)^2);
%stress-strain curve of Fe500 steel
syms ft(x)
ft(x)=piecewise(x<0.00174,2*x*10^5,0.00174<=x,369.6+(x-0.00195)*102857.1429);
ft(x)=piecewise(x<0.00195,ft(x),0.00195<=x,391.3+(x-0.00226)*70000);
ft(x)=piecewise(x<0.00226,ft(x),0.00226<=x,413+(x-0.00277)*42549);
ft(x)=piecewise(x<0.00277,ft(x),0.00277<=x,423.9+(x-0.00312)*31142.857);
ft(x)=piecewise(x<0.00312,ft(x),0.00312<=x,434.8+(x-0.00417)*10380.95233);
ft(x)=piecewise(x<0.00417,ft(x),0.00417<=x,434.8);
M=input('Enter moment value');
syms kd phi
C=int((fc*b/phi),0,phi*kd);
T=Ast*subs(ft,(d-kd)*phi);
m=int(fc*x*b/(phi^2),0,phi*kd);
jd=d-kd+m/C;
eqn=(C*jd*10^(-6)==M);
eqn2=(C==T);
[a,b]=solve(eqn,eqn2,kd,phi);

1 Comment

I can make no sense out of the second throough fifth piecewise statements, and I suspect the Symbolic Math Toolbox is not able to either.
Please describe what you want to do in them.

Answers (1)

This issue is related to the new MuPAD symbolic engine which replaced Maple. MuPAD does not make the same assumptions as Maple.
As a workaround, use the 'IgnoreSpecialCases' option in MuPAD to return results more like those returned by Maple.

This question is closed.

Asked:

on 19 Nov 2020

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!