how create correct function
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
fatema saba
le 28 Nov 2014
Commenté : fatema saba
le 28 Nov 2014
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 commentaires
Guillaume
le 28 Nov 2014
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.
Réponse acceptée
Azzi Abdelmalek
le 28 Nov 2014
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)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!