MATLAB GUI derivative calculator

  • #1
Summary:
Hello All, I am trying to create a MATLAB Gui that works by taking the derivative of a function and displays the result.
Hello!
Happy Sunday, I am trying to create a MATLAB GUI that can take an input ( i am starting out with just one variable) and take its derivative and display the result. I have attached pictures of what my GUI looks like, and also the code I wrote so far.
Let me also describe my method:
I have added
1 edit text box whose tag line is "FCN"
1 pushbutton whose tag line is "equalPushButton"
1 static text box whose tag line is "first", the static text box is blue in the picture attached.

I am running into some problems and I think I know why, but cannot seem to figure out how to fix it. Here is what I did
I went to the callback of the pushbutton and added:
syms x (I did this because I was thinking I had to define the variable..?)
a=get(handles.FCN,'string') This is getting the value from the edit text box
b=str2num(diff(a));
set(handles.first,'string',num2str(b));

As an example I would like my program to be able to handle "4x" as an input and when you hit the push button spit out "4" in the static text box (without the quotes).

I believe the problem is somehow I am not telling matlab that we have numbers and letters being typed into the edit text box...

I am new to MATLAB and it is pretty difficult to me so any help would be appreciated. The simpler the explanation the better for me.

Thank you!
 

Attachments

  • Derivative .pdf
    65.5 KB · Views: 229
  • Screenshot (8).png
    Screenshot (8).png
    20.2 KB · Views: 381

Answers and Replies

  • #3
https://www.mathworks.com/help/symbolic/str2sym.html
Other than that, you cannot just enter 4x. Matlab will want the multiplication operator.

Also, my suggestion is to use Mathematica for symbolic computations and Matlab for what it was made for.
Okay, I will look over that article right now.
I haven't used Mathmatica. I am currently working on a project for my MATLAB project and I need to be able to take derivatives in my program.
 
  • #4
https://www.mathworks.com/help/symbolic/str2sym.html
Other than that, you cannot just enter 4x. Matlab will want the multiplication operator.

Also, my suggestion is to use Mathematica for symbolic computations and Matlab for what it was made for.
Yeah, unfortunately the documentation that Mathworks has on their site is challenging for me to understand, thats why I'm here asking questions!! I assume posting this was supposed to steer me in the right direction of using str2sym somewhere? Would I be using str2sym when I am assigning my "b" variable to be the derivative of my "a" variable (the one the user inputs)?
Thanks
 
  • #5
Orodruin
Staff Emeritus
Science Advisor
Homework Helper
Insights Author
Gold Member
17,154
6,963
Your variable "a" is a string and not a symbolic expression that can be evaluated. In order to turn it into a symbolic expression, you will need to convert it to one using sym2str, which is what that function is for. If you do not do this, you will not be able to take the derivative of it.
 
  • Like
Likes cookiemnstr510510
  • #6
Your variable "a" is a string and not a symbolic expression that can be evaluated. In order to turn it into a symbolic expression, you will need to convert it to one using sym2str, which is what that function is for. If you do not do this, you will not be able to take the derivative of it.
Ahhh, okay! I appreciate it. I will let you know how it goes!
Thanks
 

Related Threads on MATLAB GUI derivative calculator

  • Last Post
Replies
1
Views
4K
  • Last Post
Replies
0
Views
6K
  • Last Post
Replies
2
Views
2K
Replies
1
Views
7K
  • Last Post
Replies
0
Views
2K
  • Last Post
Replies
6
Views
22K
  • Last Post
Replies
0
Views
2K
  • Last Post
Replies
0
Views
2K
Replies
0
Views
8K
Replies
0
Views
5K
Top