How to let the user add a condition to the code using the console?

1 Ansicht (letzte 30 Tage)
Riccardo Spader
Riccardo Spader am 30 Jul. 2021
Beantwortet: Ananya Tewari am 3 Aug. 2021
Hi everyone i'm an Italian guy, i'm so i make pasta and pizza better than i can use MATLAB, so i need your help.
I'm looking for making a code that solve a system of equations where the equations are given by the user who writes all the equations in the command prompt, if the user writes: "(10*a+b)*d" and "c+11*f" then (10*a+b)*d == c+11*f is a condition written inside an if function, and i have a big problem with the input system part .
Here my attempt:
close all
clc
clear
condition11= input('dump here the first equation', 's');
condition12= input('dump here the result of the first equation', 's');
%lines of code that gives to the variables a value
if condition11 == condition12
% do this ....
end
I tried to use the input function for my purpose but it didn't work at all since input wants numbers, variables or strings and i need to put generic equations as equations and not as strings because the if function will compare two strings that will be always different eachother, and not verify if the equation is verified.
I also tried to input using scr2func but it writes a handle function and the if can't compare two handle functions.
Can you help me, please?
  1 Kommentar
Eike Blechschmidt
Eike Blechschmidt am 30 Jul. 2021
Bearbeitet: Eike Blechschmidt am 30 Jul. 2021
If the conditions can actually be calculated you could do something like
if eval(condition11) == eval(condition12)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Ananya Tewari
Ananya Tewari am 3 Aug. 2021
Hi,
I understand you want to take equations as user input and solve the system of equation further.
We can take leverage of symbolic toolbox to create symbolic equations and solve them. Here is an example for taking equations as user inputs and converting it to symbolic equation using str2sym function.
syms a b d c f
str1 = input('Enter an equation in a b d: ','s') ;
str2 = input('Enter an equation in c f: ','s') ;
f1 = str2sym(str1) ;
f2 = str2sym(str2) ;

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by