variables in m files

Hi, I am new to MATLAB. This is the script i am working on:
FC = 360;
d = hex2dec ('*001C72*');
p = hex2dec ('*038E*');
t = hex2dec ('*0392*');
A = (d*0.5*FC/2^18);
B = (p*0.5*FC/2^15);
C = (t*0.5*FC/2^15);
Then writing 'A' in the command window i recieve an output in degrees depending on what the input 'd' is. My problem is that the hex values of d, p and t will change and not always equal the same. So is there any way that i can make the highlighted parts above a variable that i can somehow change without editing the m file everytime?
Many thanks

5 Kommentare

José-Luis
José-Luis am 11 Feb. 2013
You could use a function
doc function
Darren
Darren am 11 Feb. 2013
Could you provide an example using the code given in the OP?
Darren
Darren am 12 Feb. 2013
Thanks very much for your answers. How would i implement 2s compliment in these fucntions?
i.e. in the current function if i enter hex value FE8D it would output decimal value 65186, however i would like the 2s compliment value -7282
Thanks in advance
José-Luis
José-Luis am 12 Feb. 2013
Bearbeitet: José-Luis am 12 Feb. 2013
That's a different question. Please accept an answer if it helped you and post a new question, but you should first try to see if it has been answered before.
Please look here for inspiration.
Darren
Darren am 12 Feb. 2013
Thanks. The page you mentioned doesn't implement 2s compliment in the function. I'll keep searching for an answer although i have posted another question in the meantime. Thanks

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

José-Luis
José-Luis am 11 Feb. 2013

0 Stimmen

function [A B C] = ImAFunction(d,p,t)
FC = 360;
d = hex2dec (d);
p = hex2dec (p);
t = hex2dec (t);
A = (d*0.5*FC/2^18);
B = (p*0.5*FC/2^15);
C = (t*0.5*FC/2^15);
Save it, place in the path or in the current folder and call it as follows:
[A B C] = ImAFunction(*001C72*', '*038E*', '*0392*');

Weitere Antworten (2)

Thorsten
Thorsten am 11 Feb. 2013
Bearbeitet: Thorsten am 11 Feb. 2013

0 Stimmen

Define function
function A B C = myfunction(d, p, t)
FC = 360;
A = (hex2dec(d)*0.5*FC/2^18);
B = (hex2dec(p)*0.5*FC/2^15);
C = (hex2dec(t)*0.5*FC/2^15);
Call function with values for d, p and t, e.g.,
[ A B C ] = myfunction('*001C72*', '*038E*', '*0392*');
Jan
Jan am 11 Feb. 2013

0 Stimmen

Str = '001C72';
d = hex2dec(Str);
Such basic methods are described in the Getting Started chapters of the documentation. To use a powerful tool like Matlab efficiently, it is strongly recommended to read the manual. The forum is not the right location to learn the basic, because the manual is written well and descriptive enough already.

Kategorien

Mehr zu Help and Support finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by