Hi I wrote something like that and I think it is a function but I got some errors when I run it. What is mistake?
function t = Aineq(k1,q,e,a,b)
m=input('input m=')
n=input('input n=')
q=sparse(m*n,m*n)
e=speye(m*n)
k1=-4*e
a=constraint12b(m,n)
b=constraint12c(m,n)
t=[k1 q e q;q k1 q e;a q e q;q a q e;b q -e q;q b q -e]
end
I point that constraint12b and constraint12c are functions separately and could be ran correctly.

4 件のコメント

Guillaume
Guillaume 2014 年 11 月 28 日
Rather than leaving it for us to guess, what errors do you get? Please paste the entire error message including the part that shows the line where the error occurs.
fatema saba
fatema saba 2014 年 11 月 28 日
yes, It is my error.
>> t = Aineq(k1,q,e,a,b)
??? Undefined function or variable 'm'.
Error in ==> aineq at 2 q=sparse(m*n,m*n)
the script that I write is a function or not? Thanks
Guillaume
Guillaume 2014 年 11 月 28 日
The code that you posted in your question does not match the error message that you've just posted. Line 2 in your question is:
m=input('input m=')
whereas according to the error, it is:
q=sparse(m*n,m*n)
Obviously, if you remove the line that creates m, then it's not going to be defined.
In the future, please post the exact code you use, otherwise you're sending us on a wild goose chase.
Anyway, Azzi's answer should be what you're looking for.
fatema saba
fatema saba 2014 年 11 月 28 日
Thank you for your attention but I send the image of my function to you again. I exactly received the error that I sent you before
my error:
>> t = Aineq(k1,q,e,a,b) ??? Undefined function or variable 'm'.
Error in ==> aineq at 2
q=sparse(m*n,m*n)

サインインしてコメントする。

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 11 月 28 日

0 投票

Your function should be something like this
function t = Aineq(m,n)
q=sparse(m*n,m*n)
e=speye(m*n)
k1=-4*e
a=constraint12b(m,n)
b=constraint12c(m,n)
t=[k1 q e q;q k1 q e;a q e q;q a q e;b q -e q;q b q -e]
save this as Aineq.m, then if you want to run your function, you have to use another script or from Matlab windows command
n=10
m=20
t = Aineq(m,n)

その他の回答 (0 件)

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by