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

1 view (last 30 days)
Riccardo Spader
Riccardo Spader on 30 Jul 2021
Answered: Ananya Tewari on 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 Comment
Eike Blechschmidt
Eike Blechschmidt on 30 Jul 2021
If the conditions can actually be calculated you could do something like
if eval(condition11) == eval(condition12)

Sign in to comment.

Answers (1)

Ananya Tewari
Ananya Tewari on 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) ;

Community Treasure Hunt

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

Start Hunting!