Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Scienza e tecnica (https://www.hwupgrade.it/forum/forumdisplay.php?f=91)
-   -   [Official Thread]Richieste d'aiuto in MATEMATICA: postate qui! (https://www.hwupgrade.it/forum/showthread.php?t=1221191)


dario fgx 18-04-2014 07:25

Quote:

Originariamente inviato da Lampo89 (Messaggio 40998346)
modificarlo è un attimo;
in cima al file aggiungi una variabile (diciamo in, o come ti pare a te), la setti al valore che vuoi come condizione iniziale, e in DNSolve, al posto di y[0] == 1 scrivi y[0] == in;
poi modifica il comando FindRoot così: FindRoot[fun[[i, 1]] == in/Exp[1], {x, 1}]
nel caso in cui fallisca ancora la ricerca dei tempi di smorzamento, devi cambiare l'ultimo parametro nell'ultima graffa del comando FindRoot, che praticamente è il punto x in cui inizia a trovare numericamente le soluzioni dell'equazione

p.s. comunque noto ora che le cose funzionano male quando il moto è oscillante ....tutte le volte che facevo le prove usavo moti smorzati esponenzialmente e lì non ci sono problemi a trovare il tempo di smorzamento... ma se oscilla, beh è tutto un altro discorso!!l'unica cosa che posso consigliarti è questa: trova le posizioni dei massimi e dei minimi e vedi quale si avvicina di più al valore voluto...è una cosa approssimata ma credo che di meglio non si possa fare

infatti. Il problema è che lui va a trovare il primo punto in cui la sinusoide raggiunge quel valore. Ci deve essere una funzione che permette di trovare tutti i massimi relativi, poi paragonare questi all'ampiezza iniziale e quando il loro rapporto è pari ad 1/e ...

Lampo89 18-04-2014 08:50

Quote:

Originariamente inviato da dario fgx (Messaggio 40998792)
infatti. Il problema è che lui va a trovare il primo punto in cui la sinusoide raggiunge quel valore. Ci deve essere una funzione che permette di trovare tutti i massimi relativi, poi paragonare questi all'ampiezza iniziale e quando il loro rapporto è pari ad 1/e ...

la funzione che c'è dentro mathematica per la ricerca dei massimi si blocca al primo massimo che incontra, bisogna modificarla in modo da cambiare di volta in volta il punto iniziale della ricerca del massimo....

Altrimenti, cosa più furba ma più rischiosa, metti come punto iniziale in FindRoot una x molto grande in cui l'ampiezza dell'oscillazione è inferiore ad y(0)/e, incroci le dita sperando che il metodo converga (magari metti un limite superiore sulla x) e la soluzione che ti becca dovrebbe essere quella giusta

dario fgx 22-04-2014 07:50

Quote:

Originariamente inviato da Lampo89 (Messaggio 40999041)
la funzione che c'è dentro mathematica per la ricerca dei massimi si blocca al primo massimo che incontra, bisogna modificarla in modo da cambiare di volta in volta il punto iniziale della ricerca del massimo....

Altrimenti, cosa più furba ma più rischiosa, metti come punto iniziale in FindRoot una x molto grande in cui l'ampiezza dell'oscillazione è inferiore ad y(0)/e, incroci le dita sperando che il metodo converga (magari metti un limite superiore sulla x) e la soluzione che ti becca dovrebbe essere quella giusta

Grazie mille per tutto, allo stato attuale non ho bisogno di spingere l'analisi a questo punto anche perchè mettendoci dentro dei valori reali stiamo capendo che qule che volevamo fare non si può fare.


A presto,

dario!

dario fgx 22-04-2014 15:32

ciao,

ho notato che i risultati cambiano in modo strano da una volta all'altra e non conoscendo bene il codice non riesco a trovare il motivo.

Mi potresti fornire il codice più semplice possibile senza parametrizzazione ma con la possibilità di introdurre le singole variabili e di plottare ?

grazie


edit

risolto grazie

dario fgx 03-05-2014 21:25

Arieccomi

chi mi aiuta a calcolare la trasformata di laplace di questa:

-LS/(gΩ)y'' - 2y = (1/(2g))y'|y'|(Lλ/D)


?




Grazie!

InferNOS 22-05-2014 14:03

Ciao ragazzi, ho bisogno di aiuto per la risoluzione di un paio di trasformate di laplace: il testo (degli ex) sono due grafici (entrambi che vanno da zero a +infinito).
Il primo è quello relativo ad una raddrizzata a doppia semionda quindi ho pensato che posso verderla come il modulo del seno. Ora però non so farne la trasformata (va fatta senza passare per la definizione e quindi l'integrale ma solo con le trasformate notevoli).
Il secondo è ralativo ad una raddrizzata a singola semionda e per questo non saprei neanche con che funzione esprimere il grafico, di cui poi andare a fare la trasformata :muro:

thx :)

xxxyyy 30-06-2014 01:22

Qualcuno sa come dimostrare questa disuguaglianza tra numeri reali?

(a + b)^p <= 2^(p-1) * (a^p + b^p)

p > 1, a > 0, b > 0

Grazie!

Ziosilvio 01-07-2014 19:28

[Official Thread]Richieste d'aiuto in MATEMATICA: postate qui!
 
Quote:

Originariamente inviato da xxxyyy (Messaggio 41260276)
Qualcuno sa come dimostrare questa disuguaglianza tra numeri reali?

(a + b)^p <= 2^(p-1) * (a^p + b^p)

p > 1, a > 0, b > 0

Grazie!

Non mi ricordavo come si fa, e ho trovato una bellissima imbeccata su StackExchange:

Dividendo per 2^p entrambi i membri della disuguaglianza da dimostrare, questa diventa:

((a + b) / 2)^p <= (a^p + b^p) / 2

Per p > 1, la funzione f(x) = x^p è convessa sul semiasse reale positivo...

thewebsurfer 02-07-2014 17:49

salve, mi servirebbe un video corso di analisi matematica 1..ne conoscete uno da consigliare (anche in pvt)?

thewebsurfer 06-07-2014 14:24

1 Allegato(i)
altra richiesta:
una banale questione di trigonometria:
le coordinate del centro sono 0,0 dovrei trovare le coordinate dei punti a e b (320° e 310°)

keroro.90 06-07-2014 17:42

Quote:

Originariamente inviato da thewebsurfer (Messaggio 41283264)
altra richiesta:
una banale questione di trigonometria:
le coordinate del centro sono 0,0 dovrei trovare le coordinate dei punti a e b (320° e 310°)

punto a: x=0+r*cos(320)
y=0+r*sin(320)

idem per b...

thewebsurfer 06-07-2014 18:02

Quote:

Originariamente inviato da keroro.90 (Messaggio 41283704)
punto a: x=0+r*cos(320)
y=0+r*sin(320)

idem per b...

si, avevo già provato talmente tante di quelle volte che mi sono reso conto che fosse sbagliata la formula :muro:

se la formula è giusta mi sa che il problema nel programma dunque sia un altro..:doh:

thewebsurfer 06-07-2014 18:14

altra domanda analfabeta: ma quant'è in radianti 320 e 310? :D
prometto che ripeterò tutta la matematica a partire dalle equazioni appena ho un po' di tempo..:fagiano:

Ziosilvio 06-07-2014 21:28

Quote:

Originariamente inviato da thewebsurfer (Messaggio 41283264)
altra richiesta:
una banale questione di trigonometria:
le coordinate del centro sono 0,0 dovrei trovare le coordinate dei punti a e b (320° e 310°)

Adoperando gli angoli esplementari, a = (cos 40°, -sin 40°) e b = (cos 50°, -sin 50°).
Dopodiché, devi trovare qualche modo astuto di esprimere 40° e 50° in termini di angoli di cui conosci le funzioni trigonometriche: e da lì adoperare tutte le formule che conosci (addizione, sottrazione, prostaferesi, duplicazione, bisezione, ecc.)

dario fgx 23-07-2014 21:48

Ciao a tutti, avrei bisogno del vostro aiuto con il seguente codice matlab che calcola banalmente il centro di una circonferenza passante per 3 specifici punti dati

syms a;
syms b;
syms c;
r = input('please insert radius');
teta_grad = input('please insert angle in grad');
teta=(teta_grad*3.14)/180;
delta = input('please insert delta at angle');
eq1='r^2 - 2*b*r + c=0';
eq2='((r+delta)*sin(teta))^2 + ((r+delta)*cos(teta))^2 + -2*a*(r+delta)*sin(teta) -2*b*(r+delta)*cos(teta) + c = 0 ';
eq3='((-1)*(r+delta)*sin(teta))^2 + ((r+delta)*cos(teta))^2 -2*a*(-1)*(r+delta)*sin(teta) -2*b*(r+delta)*cos(teta) + c = 0';
S=solve(eq1,eq2,eq3,a,b,c);
xC=S.a;
yC=S.b;
disp(xC);
disp(yC);


il problema è che:

yC viene stampato a schermo usando la sue espressione esplicita ma non viene automaticamente calcolato dallo script un valore numerico. Si deve poi copiare l'espressione generata e incollarla sulla finestra principale di matlab per avere il valore numerico.
Quindi matlab conosce il valore numerico ma non lo mostra automaticamente come io vorrei. Come posso risolvere?


Grazie!!

keroro.90 23-07-2014 22:34

Quote:

Originariamente inviato da dario fgx (Messaggio 41341018)
Ciao a tutti, avrei bisogno del vostro aiuto con il seguente codice matlab che calcola banalmente il centro di una circonferenza passante per 3 specifici punti dati

syms a;
syms b;
syms c;
r = input('please insert radius');
teta_grad = input('please insert angle in grad');
teta=(teta_grad*3.14)/180;
delta = input('please insert delta at angle');
eq1='r^2 - 2*b*r + c=0';
eq2='((r+delta)*sin(teta))^2 + ((r+delta)*cos(teta))^2 + -2*a*(r+delta)*sin(teta) -2*b*(r+delta)*cos(teta) + c = 0 ';
eq3='((-1)*(r+delta)*sin(teta))^2 + ((r+delta)*cos(teta))^2 -2*a*(-1)*(r+delta)*sin(teta) -2*b*(r+delta)*cos(teta) + c = 0';
S=solve(eq1,eq2,eq3,a,b,c);
xC=S.a;
yC=S.b;
disp(xC);
disp(yC);


il problema è che:

yC viene stampato a schermo usando la sue espressione esplicita ma non viene automaticamente calcolato dallo script un valore numerico. Si deve poi copiare l'espressione generata e incollarla sulla finestra principale di matlab per avere il valore numerico.
Quindi matlab conosce il valore numerico ma non lo mostra automaticamente come io vorrei. Come posso risolvere?


Grazie!!

Ho dato una letta veloce al codice, quindi forse è una cavolta...perchè li hai definiti come syms?..non definirli proprio (vengono definiti quando li crei), in questo modo sono già numerici...

PS metti pi, non 3.14...

dario fgx 24-07-2014 13:40

Quote:

Originariamente inviato da keroro.90 (Messaggio 41341117)
Ho dato una letta veloce al codice, quindi forse è una cavolta...perchè li hai definiti come syms?..non definirli proprio (vengono definiti quando li crei), in questo modo sono già numerici...

PS metti pi, non 3.14...


non ti seguo: da quel poco che so per risolvere un sistema di equazioni lineari è imperativo utilizzare il calcolo simbolico

thewebsurfer 04-10-2014 17:27

1 Allegato(i)
scusate la banalità della domanda, ma da quando ho ripreso l'uni ormai mi sono convinto di aver rimosso tutta la matematica dal mio cervello..sono dubbioso pure sulle equazioni :D (cioè..c'è poco da ridere...)

chiedo aiuto in semplice calcolo che ha a che fare con la formula di newton (credo..)



ps: ma come cavolo si embedda latex?

Lampo89 05-10-2014 18:50

Quote:

Originariamente inviato da thewebsurfer (Messaggio 41609528)
scusate la banalità della domanda, ma da quando ho ripreso l'uni ormai mi sono convinto di aver rimosso tutta la matematica dal mio cervello..sono dubbioso pure sulle equazioni :D (cioè..c'è poco da ridere...)

chiedo aiuto in semplice calcolo che ha a che fare con la formula di newton (credo..)



ps: ma come cavolo si embedda latex?

Beh sì ha sicuramente a che fare con la regola di newton... suggerimento, qualunque sia k , 1^k è pari a 1

Ziosilvio 06-10-2014 18:00

Quote:

Originariamente inviato da thewebsurfer (Messaggio 41609528)
scusate la banalità della domanda, ma da quando ho ripreso l'uni ormai mi sono convinto di aver rimosso tutta la matematica dal mio cervello..sono dubbioso pure sulle equazioni :D (cioè..c'è poco da ridere...)

chiedo aiuto in semplice calcolo che ha a che fare con la formula di newton (credo..)



ps: ma come cavolo si embedda latex?

In realtà,



dove [P] sono le parentesi di Iverson, ossia la funzione che vale 1 se il predicato P è vero, e 0 se P è falso.

E: sì, è una conseguenza immediata della formula del binomio di Newton.


Tutti gli orari sono GMT +1. Ora sono le: 15:56.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.