Insert symbolic equation in another symbolic equation

조회 수: 2 (최근 30일)
Mirko Rizzi
Mirko Rizzi 2023년 4월 17일
댓글: Mirko Rizzi 2023년 4월 17일
Hello i have the equation eq5 that has been solved and is now only a function of y. I want now to insert this function (r) inside eq6 and solve that, but it gives me an error. How can i solve this?
eq5 = hw2*(q-r)==y;
r = solve(eq5,r);
eq6 = @(y) sigma*eps*((r^4)-T_inf^4)-y;
y0=0;
sol = fsolve(eq6,y0);
  댓글 수: 8
Mirko Rizzi
Mirko Rizzi 2023년 4월 17일
편집: Mirko Rizzi 2023년 4월 17일
if i use this:
% eq6 = sigma*eps*((r^4)-T_inf^4)==y;
% sol = solve(eq6,y)
it gives me a vector of 4 same elements:
root(z^4 - (148549786974450477987*z^3)/27487790694400 + (66201117630463850684060566839278314716507*z^2)/6044629098073145873530880000 - (25694677813792110401306682574502596589303194435085805665710978025618652510443*z)/2420199345095688424498763567867944239211734959652864000000 + 3804255296569717375581777916032849021112749976946199317897911767146631227587687/1141798154164767904846628775559596109106197299200000000, z, 1)
root(z^4 - (148549786974450477987*z^3)/27487790694400 + (66201117630463850684060566839278314716507*z^2)/6044629098073145873530880000 - (25694677813792110401306682574502596589303194435085805665710978025618652510443*z)/2420199345095688424498763567867944239211734959652864000000 + 3804255296569717375581777916032849021112749976946199317897911767146631227587687/1141798154164767904846628775559596109106197299200000000, z, 2)
root(z^4 - (148549786974450477987*z^3)/27487790694400 + (66201117630463850684060566839278314716507*z^2)/6044629098073145873530880000 - (25694677813792110401306682574502596589303194435085805665710978025618652510443*z)/2420199345095688424498763567867944239211734959652864000000 + 3804255296569717375581777916032849021112749976946199317897911767146631227587687/1141798154164767904846628775559596109106197299200000000, z, 3)
root(z^4 - (148549786974450477987*z^3)/27487790694400 + (66201117630463850684060566839278314716507*z^2)/6044629098073145873530880000 - (25694677813792110401306682574502596589303194435085805665710978025618652510443*z)/2420199345095688424498763567867944239211734959652864000000 + 3804255296569717375581777916032849021112749976946199317897911767146631227587687/1141798154164767904846628775559596109106197299200000000, z, 4)
Mirko Rizzi
Mirko Rizzi 2023년 4월 17일
if i view the entire function r, copy what it is written and substitute it inside works fine, but as it is in the cycle i can't copy and paste manually at every passage

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

채택된 답변

Dyuman Joshi
Dyuman Joshi 2023년 4월 17일
편집: Dyuman Joshi 2023년 4월 17일
Use vpa to get numerical values. Convert them to double() if you need the values to be in numeric data type.
syms z
%first root, copied from above
sol1=vpa(root(z^4 - (148549786974450477987*z^3)/27487790694400 + (66201117630463850684060566839278314716507*z^2)/6044629098073145873530880000 - (25694677813792110401306682574502596589303194435085805665710978025618652510443*z)/2420199345095688424498763567867944239211734959652864000000 + 3804255296569717375581777916032849021112749976946199317897911767146631227587687/1141798154164767904846628775559596109106197299200000000, z, 1))
sol1 = 
549277.87721495737433337758873113
double(sol1)
ans = 5.4928e+05
  댓글 수: 3
Dyuman Joshi
Dyuman Joshi 2023년 4월 17일
They look same because the syntax of the output above is same except for the number of root.
Since solve() was unable to find the explicit value, it returns the solution as -
root(equation,variable,1)
root(equation,variable,2)
root(equation,variable,3)
root(equation,variable,4)
You can see at the end of the each expression there's a number, denoting which root it refers to. The value of roots will, of course, depend upon the coefficients.s
Mirko Rizzi
Mirko Rizzi 2023년 4월 17일
thanks for explaining me!

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by