giankar Δημοσ. 20 Μαρτίου 2008 Δημοσ. 20 Μαρτίου 2008 Θέλω να κατασκευάσω την συνάρτηση: y(x)=sin((xcosx)/(x^2+3x+2)) για τιμές του x από 1 μέχρι 3 με βήματα του 0.02. Γράφω το εξής και δεν βρίσκω που κάνω λάθως: >x=[1:0.02:3]; y(x)=sin((x*cos(x))*(x^2+3*x+1))
cassidy Δημοσ. 20 Μαρτίου 2008 Δημοσ. 20 Μαρτίου 2008 Θέλω να κατασκευάσω την συνάρτηση: y(x)=sin((xcosx)/(x^2+3x+2)) για τιμές του x από 1 μέχρι 3 με βήματα του 0.02. Γράφω το εξής και δεν βρίσκω που κάνω λάθως: >x=[1:0.02:3]; y(x)=sin((x*cos(x))*(x^2+3*x+1)) x*cos(x) Όπως το έχεις γράψει, το x είναι πίνακας και το cos(x) πάλι πίνακας. Πολλαπλασιάζεις πίνακες μεταξύ τους. Με το y(x) δεν ορίζεις συνάρτηση στο Matlab. Σημαίνει το x-οστό στοιχείο του πίνακα y, δε νομίζω πως είναι αυτό που θες να κάνεις Έχεις δυο επιλογές, είτε θα πολλαπλασιάσεις στοιχείο προς στοιχείο τους πίνακες πχ x.*cos(x), x.^2 κτλ είτε θα το κάνεις με for loop >x=[1:0.02:3]; for i = 1:size(x,2) y(i)=sin((x(i)*cos(x(i)))*(x(i)^2+3*x(i)+1)) end To αποτέλεσμα είναι ο πίνακας y.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.