Ti-Basic how to do Raycasting ti-84 plus ce - raycasting
I am trying to create a game similar to doom on my ti-84 plus ce using pure ti-basic, and I have tried several raycasting codes, but most throw up multiple errors, and the ones that dont error are incredibly slow and dont actually do things or are very inconsistent. The most common error is ERROR: INVALID DIMENSION, which usually occurs after one frame is drawn (so 20 seconds or so).
I guess there are a few things I am asking:
How should I go about making a usable raycasting program? (Examples of code please). How can I optimize programs to make them as fast as possible?
Below are the three codes I used to try to do raycasting, 2 made by iPhoenix and one made by Vaelus. I have been working on my own but i am fairly busy with school and such so it is slow.
4→Xmin
24*4+3→Xmax
-1→Ymin
1→Ymax
1.5→S
1.5→T
dim([A])→L₁
L₁(1)→H
L₁(2)→W
seq((I-12.5)*4°+45°,I,1,24)→L₁
1→R
While R
For(I,1,24)
0→C
S→U
T→V
0→D
While C=0 and 1≤int(U) and int(U)≤W and 1≤int(V) and int(V)≤H
L₁(I)→A
If A>0°:Then
If A>90°:Then
-int(-U-1)→P
int(V+1)→Q
Else
int(U+1)→P
int(V+1)→Q
End
Else
If A>-90°:Then
int(U+1)→P
-int(-V-1)→Q
Else
-int(-U-1)→P
-int(-V-1)→Q
End
End
If abs((P-U)/cos(A))<abs((Q-V)/sin(A)):Then
D+abs((P-U)/cos(A))→D
V+(P-U)*tan(A)→V
P→U
Else
D+abs((Q-V)/sin(A))→D
U+(Q-V)/tan(A)→U
Q→V
End
If int(U)≥1 and int(U)≤W and int(V)≥1 and int(V)≤H:Then
If [A](int(U),int(V))
1→C
End
If -int(-U+1)≥1 and -int(-U+1)≤W and -int(-V+1)≥1 and -int(-V+1)≤H:Then
If [A](-int(-U+1),-int(-V+1))
1→C
End
End
I*4→N
Line(N,1,N,-1,0)
Line(N+1,1,N+1,-1,0)
Line(N+2,1,N+2,-1,0)
Line(N+3,1,N+3,-1,0)
If C:Then
tan⁻¹(([A](int(U),int(V))+[A](-int(-U+1),-int(-V+1)))/D)/32°→Z
Line(N,Z,N,-Z)
Line(N+1,Z,N+1,-Z)
Line(N+2,Z,N+2,-Z)
Line(N+3,Z,N+3,-Z)
End
End
getKey→K
(L₁(12)+L₁(13))/2→F
If K=25:Then
S+0.1*cos(F)→S
T+0.1*sin(F)→T
End
If K=34:Then
S-0.1*cos(F)→S
T-0.1*sin(F)→T
End
If K=24:Then
L₁+2°→L₁
End
If K=26:Then
L₁-2°→L₁
End
If K=45
0→R
End
0→Xmin
{BLACK,DARKGRAY,GRAY,MEDGRAY,LTGRAY,WHITE,WHITE→L₁
70→Xmax
-20→Ymin
20→Ymax
90→θ
310→R
119→S
219→T
For(A,1,51,-1
For(B,1,100,50
Pxl-On(163-A,263-B,GRAY
Pxl-On(163-B,263-A,GRAY
Pxl-On(164-A,264-B,GRAY
Pxl-On(110+A,210+B,MEDGRAY
Pxl-On(110+B,210+A,MEDGRAY
Pxl-On(109+B,209+A,MEDGRAY
Pxl-On(109+A,209+B,MEDGRAY
End
End
For(A,1,10
For(B,1,10
If [A](A,B
Then
For(C,1,5
For(D,1,5
Pxl-On(110+(5A-4+C),210+(5B-4+D),BLACK
End
End
End
End
End
Repeat Ans
For(A,6,13.5,.45
Line(Xmin,A,Xmax,A,WHITE
End
DelVar N
Pxl-Off(S,T
For(A,70-R,1-R,-1
N+1→N
DelVar C
cos(A→P
sin(A→Q
Repeat K=45 or C>20
C+1→C
pxl-Test(int(S+CP),int(T+CQ
End
If C<20:Then
int(C/3→V
int(40/C)/2→W
If W>4
4→W
For(B,-W,W
For(D,1,2
Pt-On(N,B,D,L₁(V
End
End
End
End
Pxl-On(S,T
Repeat Ans
getKey
End
Pxl-Off(S,T
Ans→K
If K=24
R-45→R
If K=26
R+45→R
R-220→θ
If K=25
Then
int(S-3cos(θ→S
int(T+3sin(θ→T
Else
If K=34
Then
int(S+3cos(θ→S
int(T-3sin(θ→T
End
End
Pxl-On(S,T
Pause
End
ZStandard
ZSquare
GridOff
AxesOff
LabelOff
BorderColor 4
BackgroundOff
{Black,DarkGray,Gray,MedGray,LtGray->L1
For(A,1,10
For(B,1,10
If [A](A,B
Then
For(C,1,5
For(D,1,5
Pxl-On(115+5A-C,5B-D,Black
End
End
End
End
End
122->A
5->B
DelVar DRepeat K=45
For(theta,~3,3,.1
Line(12+theta,3,12+theta,10,0
End
Circle(12,6,1.8,Black
Line(10,6,14,6,1,Black,1
Line(12,4,12,8,1,Black,1
For(theta,~40+D,40+D
If not(remainder(abs(theta-D),10
Line(12+2.5cos(theta-2D),6+2.5sin(theta-2D),12+2cos(theta-2D),6+2sin(theta-2D),1,Red+(theta=D),1
sin(theta->U
cos(theta->V
DelVar NRepeat Ans or N=10
N+1->N
int(A+NU->I
int(B+NV->J
pxl-Test(I,Ans
End
(theta-D)/5
Line(Ans,5,Ans,~5,0
If N!=10
Line(Ans,(10-N)/2,Ans,~(10-N)/2,1,L1(1+min(int(N/2),dim(L1
End
If not(pxl-Test(A,B
Pxl-On(A,B,Red
getKey
Repeat Ans
getKey
End
Ans->K
Pxl-Off(A,B
D-5(K=11->D
D+5(K=15->D
D-2(K=12->D
D+2(K=14->D
int(A+(K=13)2sin(D)+(K=23)5sin(D->A
int(B+(K=13)2cos(D)+(K=23)5cos(D->B
End
RecallGDB 0```
Related
application.onkey press not working while an infinite loop is running (python accepts that why not vba)
i am currently studying engineering and for my inf project i decided to do a tetris clone started trying to learn python but sadly my college demands that we use excel vba anyways we started with 1 single square not a whole element and coded it falling down and then a new one creating and falling down too and so on which using an infinite loop proved quite easy then for the moving left and right part we decided to use the application.onkey method but quickly realised that for some reason this doesnt work while the loop is active but does while its inactive any help its a german school so our comments are in german here our main code stein.color = 4 stein.posx = 0 stein.posy = 4 '2.3.2:stein im grid einfugen grid(stein.posx, stein.posy) = stein.color '2.3.3:grid zeichnen gridzeichnen '3 : main loop Do While gamestate '3.1:checken ob platz frei ist If checkplatz(stein.posx, stein.posy) Then '3.1.1: falls ja dann fallen warten (50) grid(stein.posx, stein.posy) = 2 stein.posx = stein.posx + 1 ' hinweis: im grid schreiben/anzeigen grid(stein.posx, stein.posy) = stein.color gridzeichnen Else: '3.1.2:falls nein dann neuen stein erstellen '3.1.2.1: aber zuerst muss man checken ob die maximale hohe erreicht wurde (also obwohl er 'gerade erst erstellt wurde nicht fallen konnte) If stein.posx = 0 Then 'hinweis: print grid nur damit man besser weiss was der program gemacht hat und ob er 'irgendwas falsch gemacht hat printgrid Exit Do End If ' 3.1.2.2: falls nicht dann neuen stein erstellen ' hinweis:hier braucht man nicht die farbe neu erstellen da momentarn die farbe immer ' gleich(wird sich spater andern) stein.posx = 0 stein.posy = 4 grid(stein.posx, stein.posy) = stein.color gridzeichnen End If Loop
Can't access [myself] of myself in nested ask
I want to calculate the mean of the weight of some of the links, called "fs", of a turtle (let's call it turtle A). In particular, I need to select the turtles that have a "C" breed of link with another turtle, B, and calculate the mean of the weights of fs links of turtle A with this agentset. I am doing it with a reporter, mean-fs. To select the links I want to calculate the mean of, I need to nest some ask and access [myself] of myself, which should be turtle A. I've tried passing who of turtle A to the reporter mean-fs, but there is the error "expected literal value". I've tried with [myself] of myself but it returns self. Here is the part of the code I'm talking about: to go ask turtles [move set-conv] end to set-conv ask other turtles in-cone 4 120 [... if (C-neighbors != nobody)[add-partecipant] ] end to add-partecipant let turtle1 myself if ( mean-fs [ turtle1 ] > 0 ) [ ... ] end to-report mean-fs [turtle1] let w-list [] ask C-neighbors [ set w-list lput [w] of f-with turtle1 w-list] report mean w-list end
How do I search and replace in vi to eliminate a random number of random characters preceding a known string?
I have text files which look like this: 0 298047498 /directory1/app/20170417/file1.blob 0 f191 e 6569844 /directory1/app/20170417/file2.blob 0 f191 344 /directory1/app/20170417/file3.blob 0 8946 /directory1/app/20170417/file4.blob 0 196496 /directory1/app/20170417/file5.blob 0 9 182340752 /directory1/app/20170417/file6.blob 0 f191 68802 /directory1/app/20170417/file7.blob 0 I want to remove everything prior to the first / and everything after the file extension. Results should look like this: /directory1/app/20170417/file1.blob /directory1/app/20170417/file2.blob /directory1/app/20170417/file3.blob Is there a way to do this using vi search and replace?
This type of question may be better placed here: https://vi.stackexchange.com/ But for now: Yout can e.g. use a simple vim-macro, in which you collect all the key-strokes you need to edit one line and repeat this macro as many times as you need it. Here are simply the key-strokes for one line: dt/WD d = delete.. t = ..till the first "/" W = [shift]+[w] jumps to the next Word (after the "file-location-string") D = [shift]+[d] deletes till the end of the current line If you want to record this as a macro, do the following, with the keystrokes from above, inbetween - like this: qmdt/WD[home][down]q qm = start the recording of a macro in buffer "m" ... key-strokes from above [home][down] = key [home] followed by [arrow down]-key, to move into the next line (for convenince) q = end up the macro-recording Now execute that macro with: #m And if you added the [down] key, you can do something like: 7#m with which you fire your macro 7 times, for all your 7 lines.
Multi-Threading and Parallel Processing in Matlab
I'm coding a project in Matlab, however I want the great efficiency and speed of my execution, for that sake, I want to use parallel processing threads in Matlab as I have multiple objects working or changing their states in a for loop. Is Multi-Threading is appropriate for this purpose? If so, where can I take start or can create a simple thread? My Code: % P=501x3 array for i=1:length(P) % I used position for example's sake, meaning object changing its state Object1.position=P(i,:); Object2.position=P(i,:); Object3.position=P(i,:); Object4.position=P(i,:); % Mulitple objects changing their state on each iteration, after some calculation/formulation. end What I need is the basic structure of Multi-Threads according to my scenario if Threading is appropriate in my case. More suggestions for Parallel-Execution or fast processing are welcomed. Edit1: Parray: P = -21.8318 19.2251 -16.0000 -21.7386 19.1620 -15.9640 -21.6455 19.0988 -15.9279 -21.5527 19.0357 -15.8918 -21.4600 18.9727 -15.8556 -21.3675 18.9096 -15.8194 -21.2752 18.8466 -15.7831 -21.1831 18.7836 -15.7468 -21.0911 18.7206 -15.7105 -20.9993 18.6577 -15.6741 -20.9078 18.5947 -15.6377 -20.8163 18.5318 -15.6012 -20.7251 18.4689 -15.5647 -20.6340 18.4061 -15.5281 -20.5432 18.3432 -15.4915 -20.4524 18.2804 -15.4548 -20.3619 18.2176 -15.4181 -20.2715 18.1548 -15.3814 -20.1813 18.0921 -15.3446 -20.0913 18.0293 -15.3078 -20.0015 17.9666 -15.2709 -19.9118 17.9039 -15.2340 -19.8223 17.8412 -15.1970 -19.7329 17.7786 -15.1601 -19.6438 17.7160 -15.1230 -19.5547 17.6534 -15.0860 -19.4659 17.5908 -15.0489 -19.3772 17.5282 -15.0117 -19.2887 17.4656 -14.9745 -19.2004 17.4031 -14.9373 -19.1122 17.3406 -14.9001 -19.0241 17.2781 -14.8628 -18.9363 17.2156 -14.8254 -18.8486 17.1532 -14.7881 -18.7610 17.0907 -14.7507 -18.6736 17.0283 -14.7132 -18.5864 16.9659 -14.6758 -18.4994 16.9035 -14.6383 -18.4124 16.8412 -14.6007 -18.3257 16.7788 -14.5632 -18.2391 16.7165 -14.5255 -18.1526 16.6542 -14.4879 -18.0663 16.5919 -14.4502 -17.9802 16.5296 -14.4125 -17.8942 16.4673 -14.3748 -17.8084 16.4051 -14.3370 -17.7227 16.3429 -14.2992 -17.6372 16.2807 -14.2614 -17.5518 16.2185 -14.2235 -17.4665 16.1563 -14.1856 -17.3815 16.0941 -14.1477 -17.2965 16.0320 -14.1097 -17.2117 15.9698 -14.0718 -17.1271 15.9077 -14.0338 -17.0426 15.8456 -13.9957 -16.9582 15.7835 -13.9576 -16.8740 15.7214 -13.9196 -16.7899 15.6594 -13.8814 -16.7060 15.5973 -13.8433 -16.6222 15.5353 -13.8051 -16.5385 15.4733 -13.7669 -16.4550 15.4113 -13.7287 -16.3716 15.3493 -13.6904 -16.2884 15.2873 -13.6521 -16.2053 15.2253 -13.6138 -16.1223 15.1634 -13.5755 -16.0395 15.1014 -13.5372 -15.9568 15.0395 -13.4988 -15.8742 14.9776 -13.4604 -15.7918 14.9157 -13.4220 -15.7095 14.8538 -13.3835 -15.6273 14.7919 -13.3451 -15.5453 14.7301 -13.3066 -15.4634 14.6682 -13.2681 -15.3816 14.6063 -13.2295 -15.2999 14.5445 -13.1910 -15.2184 14.4827 -13.1524 -15.1370 14.4209 -13.1138 -15.0557 14.3591 -13.0752 -14.9746 14.2973 -13.0366 -14.8936 14.2355 -12.9979 -14.8127 14.1737 -12.9593 -14.7319 14.1120 -12.9206 -14.6513 14.0502 -12.8819 -14.5707 13.9885 -12.8432 -14.4903 13.9267 -12.8044 -14.4100 13.8650 -12.7657 -14.3299 13.8033 -12.7269 -14.2498 13.7416 -12.6881 -14.1699 13.6799 -12.6493 -14.0901 13.6182 -12.6105 -14.0104 13.5565 -12.5717 -13.9308 13.4948 -12.5328 -13.8513 13.4332 -12.4940 -13.7720 13.3715 -12.4551 -13.6927 13.3099 -12.4162 -13.6136 13.2482 -12.3773 -13.5346 13.1866 -12.3384 -13.4556 13.1250 -12.2995 -13.3768 13.0633 -12.2605 -13.2982 13.0017 -12.2216 -13.2196 12.9401 -12.1826 -13.1411 12.8785 -12.1437 -13.0627 12.8169 -12.1047 -12.9845 12.7553 -12.0657 -12.9063 12.6937 -12.0267 -12.8283 12.6321 -11.9877 -12.7503 12.5706 -11.9487 -12.6725 12.5090 -11.9097 -12.5947 12.4474 -11.8706 -12.5171 12.3859 -11.8316 -12.4395 12.3243 -11.7925 -12.3621 12.2628 -11.7535 -12.2848 12.2012 -11.7144 -12.2075 12.1397 -11.6754 -12.1304 12.0781 -11.6363 -12.0533 12.0166 -11.5972 -11.9764 11.9550 -11.5581 -11.8995 11.8935 -11.5190 -11.8228 11.8320 -11.4799 -11.7461 11.7705 -11.4408 -11.6695 11.7089 -11.4017 -11.5930 11.6474 -11.3626 -11.5166 11.5859 -11.3235 -11.4403 11.5244 -11.2844 -11.3641 11.4629 -11.2453 -11.2880 11.4014 -11.2062 -11.2120 11.3398 -11.1671 -11.1360 11.2783 -11.1280 -11.0602 11.2168 -11.0889 -10.9844 11.1553 -11.0497 -10.9087 11.0938 -11.0106 -10.8331 11.0323 -10.9715 -10.7576 10.9708 -10.9324 -10.6821 10.9093 -10.8933 -10.6068 10.8478 -10.8542 -10.5315 10.7863 -10.8150 -10.4563 10.7248 -10.7759 -10.3812 10.6633 -10.7368 -10.3062 10.6018 -10.6977 -10.2312 10.5403 -10.6586 -10.1564 10.4788 -10.6195 -10.0816 10.4173 -10.5804 -10.0068 10.3557 -10.5414 -9.9322 10.2942 -10.5023 -9.8576 10.2327 -10.4632 -9.7831 10.1712 -10.4241 -9.7087 10.1097 -10.3851 -9.6343 10.0482 -10.3460 -9.5600 9.9866 -10.3069 -9.4858 9.9251 -10.2679 -9.4117 9.8636 -10.2289 -9.3376 9.8021 -10.1898 -9.2636 9.7405 -10.1508 -9.1897 9.6790 -10.1118 -9.1158 9.6174 -10.0728 -9.0420 9.5559 -10.0338 -8.9683 9.4944 -9.9948 -8.8946 9.4328 -9.9558 -8.8210 9.3712 -9.9169 -8.7474 9.3097 -9.8779 -8.6739 9.2481 -9.8390 -8.6005 9.1865 -9.8000 -8.5272 9.1250 -9.7611 -8.4539 9.0634 -9.7222 -8.3806 9.0018 -9.6833 -8.3074 8.9402 -9.6444 -8.2343 8.8786 -9.6056 -8.1612 8.8170 -9.5667 -8.0882 8.7554 -9.5279 -8.0152 8.6938 -9.4890 -7.9423 8.6322 -9.4502 -7.8695 8.5705 -9.4114 -7.7967 8.5089 -9.3727 -7.7239 8.4473 -9.3339 -7.6513 8.3856 -9.2951 -7.5786 8.3240 -9.2564 -7.5060 8.2623 -9.2177 -7.4335 8.2006 -9.1790 -7.3610 8.1389 -9.1403 -7.2885 8.0772 -9.1017 -7.2161 8.0155 -9.0630 -7.1438 7.9538 -9.0244 -7.0715 7.8921 -8.9858 -6.9992 7.8304 -8.9472 -6.9270 7.7687 -8.9086 -6.8548 7.7069 -8.8701 -6.7827 7.6452 -8.8316 -6.7106 7.5834 -8.7931 -6.6385 7.5217 -8.7546 -6.5665 7.4599 -8.7161 -6.4945 7.3981 -8.6777 -6.4226 7.3363 -8.6393 -6.3507 7.2745 -8.6009 -6.2788 7.2127 -8.5625 -6.2070 7.1508 -8.5242 -6.1352 7.0890 -8.4858 -6.0635 7.0271 -8.4475 -5.9917 6.9653 -8.4093 -5.9200 6.9034 -8.3710 -5.8484 6.8415 -8.3328 -5.7768 6.7796 -8.2946 -5.7052 6.7177 -8.2564 -5.6336 6.6558 -8.2183 -5.5621 6.5938 -8.1802 -5.4906 6.5319 -8.1421 -5.4191 6.4699 -8.1040 -5.3476 6.4079 -8.0660 -5.2762 6.3459 -8.0280 -5.2048 6.2839 -7.9900 -5.1334 6.2219 -7.9521 -5.0621 6.1599 -7.9142 -4.9908 6.0978 -7.8763 -4.9194 6.0358 -7.8384 -4.8482 5.9737 -7.8006 -4.7769 5.9116 -7.7628 -4.7057 5.8495 -7.7250 -4.6344 5.7874 -7.6873 -4.5632 5.7253 -7.6496 -4.4920 5.6631 -7.6119 -4.4209 5.6010 -7.5743 -4.3497 5.5388 -7.5367 -4.2786 5.4766 -7.4992 -4.2074 5.4144 -7.4616 -4.1363 5.3522 -7.4241 -4.0652 5.2899 -7.3867 -3.9941 5.2277 -7.3492 -3.9231 5.1654 -7.3118 -3.8520 5.1031 -7.2745 -3.7809 5.0408 -7.2372 -3.7099 4.9785 -7.1999 -3.6389 4.9161 -7.1626 -3.5678 4.8538 -7.1254 -3.4968 4.7914 -7.0883 -3.4258 4.7290 -7.0511 -3.3548 4.6666 -7.0140 -3.2838 4.6041 -6.9770 -3.2128 4.5417 -6.9400 -3.1418 4.4792 -6.9030 -3.0708 4.4167 -6.8661 -2.9998 4.3542 -6.8292 -2.9288 4.2917 -6.7923 -2.8578 4.2291 -6.7555 -2.7868 4.1666 -6.7187 -2.7158 4.1040 -6.6820 -2.6448 4.0414 -6.6453 -2.5738 3.9788 -6.6087 -2.5028 3.9161 -6.5720 -2.4318 3.8534 -6.5355 -2.3608 3.7908 -6.4990 -2.2897 3.7280 -6.4625 -2.2187 3.6653 -6.4261 -2.1477 3.6026 -6.3897 -2.0766 3.5398 -6.3534 -2.0056 3.4770 -6.3171 -1.9345 3.4142 -6.2808 -1.8634 3.3513 -6.2446 -1.7924 3.2885 -6.2085 -1.7213 3.2256 -6.1724 -1.6501 3.1627 -6.1363 -1.5790 3.0998 -6.1003 -1.5079 3.0368 -6.0643 -1.4367 2.9739 -6.0284 -1.3656 2.9109 -5.9925 -1.2944 2.8478 -5.9567 -1.2232 2.7848 -5.9210 -1.1519 2.7217 -5.8852 -1.0807 2.6586 -5.8496 -1.0094 2.5955 -5.8140 -0.9381 2.5324 -5.7784 -0.8668 2.4692 -5.7429 -0.7955 2.4060 -5.7074 -0.7242 2.3428 -5.6720 -0.6528 2.2796 -5.6366 -0.5814 2.2163 -5.6013 -0.5100 2.1530 -5.5661 -0.4385 2.0897 -5.5309 -0.3670 2.0264 -5.4957 -0.2955 1.9630 -5.4607 -0.2240 1.8996 -5.4256 -0.1524 1.8362 -5.3906 -0.0808 1.7727 -5.3557 -0.0092 1.7093 -5.3209 0.0625 1.6458 -5.2860 0.1341 1.5822 -5.2513 0.2059 1.5187 -5.2166 0.2776 1.4551 -5.1819 0.3494 1.3915 -5.1474 0.4212 1.3279 -5.1128 0.4931 1.2642 -5.0784 0.5650 1.2005 -5.0440 0.6369 1.1368 -5.0096 0.7089 1.0730 -4.9753 0.7809 1.0092 -4.9411 0.8530 0.9454 -4.9069 0.9251 0.8816 -4.8728 0.9972 0.8177 -4.8388 1.0694 0.7538 -4.8048 1.1416 0.6899 -4.7709 1.2139 0.6260 -4.7370 1.2862 0.5620 -4.7032 1.3585 0.4980 -4.6695 1.4309 0.4339 -4.6358 1.5034 0.3698 -4.6022 1.5759 0.3057 -4.5686 1.6484 0.2416 -4.5352 1.7210 0.1774 -4.5017 1.7936 0.1132 -4.4684 1.8663 0.0490 -4.4351 1.9391 -0.0153 -4.4019 2.0119 -0.0796 -4.3687 2.0847 -0.1439 -4.3356 2.1576 -0.2083 -4.3026 2.2306 -0.2726 -4.2697 2.3036 -0.3371 -4.2368 2.3767 -0.4015 -4.2040 2.4498 -0.4660 -4.1712 2.5230 -0.5305 -4.1385 2.5962 -0.5951 -4.1059 2.6695 -0.6597 -4.0734 2.7429 -0.7243 -4.0409 2.8163 -0.7890 -4.0085 2.8898 -0.8537 -3.9762 2.9634 -0.9184 -3.9439 3.0370 -0.9831 -3.9117 3.1106 -1.0479 -3.8796 3.1844 -1.1128 -3.8476 3.2582 -1.1776 -3.8156 3.3320 -1.2425 -3.7837 3.4060 -1.3075 -3.7519 3.4800 -1.3724 -3.7201 3.5541 -1.4374 -3.6884 3.6282 -1.5025 -3.6568 3.7024 -1.5675 -3.6253 3.7767 -1.6327 -3.5939 3.8510 -1.6978 -3.5625 3.9255 -1.7630 -3.5312 4.0000 -1.8282 -3.4999 4.0745 -1.8935 -3.4688 4.1492 -1.9588 -3.4377 4.2239 -2.0241 -3.4067 4.2987 -2.0895 -3.3758 4.3736 -2.1549 -3.3450 4.4485 -2.2203 -3.3142 4.5236 -2.2858 -3.2835 4.5987 -2.3513 -3.2529 4.6739 -2.4169 -3.2224 4.7491 -2.4825 -3.1920 4.8245 -2.5481 -3.1616 4.8999 -2.6138 -3.1313 4.9755 -2.6795 -3.1011 5.0511 -2.7453 -3.0710 5.1267 -2.8111 -3.0409 5.2025 -2.8769 -3.0110 5.2784 -2.9428 -2.9811 5.3543 -3.0087 -2.9513 5.4303 -3.0747 -2.9216 5.5065 -3.1407 -2.8920 5.5827 -3.2067 -2.8624 5.6590 -3.2728 -2.8330 5.7354 -3.3389 -2.8036 5.8118 -3.4051 -2.7743 5.8884 -3.4713 -2.7451 5.9651 -3.5375 -2.7160 6.0418 -3.6038 -2.6870 6.1187 -3.6701 -2.6580 6.1957 -3.7365 -2.6292 6.2727 -3.8029 -2.6004 6.3498 -3.8693 -2.5717 6.4271 -3.9358 -2.5431 6.5044 -4.0024 -2.5146 6.5819 -4.0690 -2.4862 6.6594 -4.1356 -2.4579 6.7370 -4.2023 -2.4296 6.8148 -4.2690 -2.4015 6.8926 -4.3357 -2.3734 6.9706 -4.4025 -2.3455 7.0486 -4.4694 -2.3176 7.1268 -4.5362 -2.2898 7.2050 -4.6032 -2.2621 7.2834 -4.6702 -2.2345 7.3619 -4.7372 -2.2070 7.4405 -4.8042 -2.1796 7.5191 -4.8713 -2.1523 7.5979 -4.9385 -2.1250 7.6769 -5.0057 -2.0979 7.7559 -5.0730 -2.0709 7.8350 -5.1402 -2.0439 7.9142 -5.2076 -2.0171 7.9936 -5.2750 -1.9903 8.0731 -5.3424 -1.9637 8.1526 -5.4099 -1.9371 8.2323 -5.4774 -1.9106 8.3122 -5.5450 -1.8842 8.3921 -5.6126 -1.8580 8.4721 -5.6803 -1.8318 8.5523 -5.7480 -1.8057 8.6326 -5.8157 -1.7797 8.7130 -5.8835 -1.7539 8.7935 -5.9514 -1.7281 8.8742 -6.0193 -1.7024 8.9549 -6.0873 -1.6768 9.0358 -6.1553 -1.6513 9.1169 -6.2233 -1.6260 9.1980 -6.2914 -1.6007 9.2793 -6.3596 -1.5755 9.3607 -6.4278 -1.5504 9.4422 -6.4960 -1.5254 9.5238 -6.5643 -1.5006 9.6056 -6.6327 -1.4758 9.6875 -6.7011 -1.4511 9.7695 -6.7695 -1.4266 9.8517 -6.8380 -1.4021 9.9340 -6.9066 -1.3778 10.0164 -6.9752 -1.3535 10.0990 -7.0438 -1.3294 10.1817 -7.1125 -1.3053 10.2645 -7.1813 -1.2814 10.3475 -7.2501 -1.2576 10.4306 -7.3189 -1.2338 10.5138 -7.3878 -1.2102 10.5972 -7.4568 -1.1867 10.6807 -7.5258 -1.1633 10.7644 -7.5949 -1.1400 10.8482 -7.6640 -1.1168 10.9321 -7.7332 -1.0938 11.0162 -7.8024 -1.0708 11.1004 -7.8717 -1.0479 11.1848 -7.9410 -1.0252 11.2693 -8.0104 -1.0026 11.3539 -8.0798 -0.9800 11.4387 -8.1493 -0.9576 11.5237 -8.2188 -0.9353 11.6087 -8.2884 -0.9131 11.6940 -8.3581 -0.8910 11.7794 -8.4278 -0.8691 11.8649 -8.4976 -0.8472 11.9506 -8.5674 -0.8255 12.0364 -8.6373 -0.8038 12.1224 -8.7072 -0.7823 12.2085 -8.7772 -0.7609 12.2948 -8.8472 -0.7396 12.3813 -8.9173 -0.7185 12.4679 -8.9875 -0.6974 12.5546 -9.0577 -0.6765 12.6415 -9.1279 -0.6557 12.7286 -9.1983 -0.6350 12.8158 -9.2686 -0.6144 12.9032 -9.3391 -0.5939 12.9907 -9.4096 -0.5735 13.0784 -9.4801 -0.5533 13.1663 -9.5507 -0.5332 13.2543 -9.6214 -0.5132 13.3425 -9.6921 -0.4933 13.4309 -9.7629 -0.4735 13.5194 -9.8337 -0.4539 13.6080 -9.9046 -0.4344 13.6969 -9.9756 -0.4150 13.7859 -10.0466 -0.3957 13.8751 -10.1177 -0.3765 13.9644 -10.1888 -0.3575 14.0539 -10.2600 -0.3386 14.1436 -10.3313 -0.3198 14.2334 -10.4026 -0.3011 14.3235 -10.4740 -0.2826 14.4137 -10.5454 -0.2641 14.5040 -10.6169 -0.2458 14.5946 -10.6884 -0.2277 14.6853 -10.7600 -0.2096 14.7761 -10.8317 -0.1917 14.8672 -10.9035 -0.1739 14.9584 -10.9753 -0.1562 15.0499 -11.0471 -0.1387 15.1414 -11.1190 -0.1213 15.2332 -11.1910 -0.1040 15.3252 -11.2631 -0.0868 15.4173 -11.3352 -0.0697 15.5096 -11.4073 -0.0528 15.6021 -11.4796 -0.0360 15.6948 -11.5519 -0.0194 15.7876 -11.6242 -0.0029 15.8806 -11.6966 0.0135 15.9739 -11.7691 0.0298 16.0673 -11.8417 0.0459 16.1609 -11.9143 0.0619 16.2547 -11.9869 0.0778 16.3486 -12.0597 0.0936 16.4428 -12.1325 0.1092 16.5371 -12.2053 0.1247 16.6317 -12.2783 0.1400 16.7264 -12.3513 0.1552 16.8213 -12.4243 0.1703 16.9164 -12.4974 0.1853 17.0117 -12.5706 0.2001 17.1072 -12.6439 0.2148 17.2029 -12.7172 0.2293 17.2988 -12.7906 0.2437 17.3949 -12.8640 0.2580 17.4911 -12.9376 0.2721 17.5876 -13.0111 0.2861 17.6843 -13.0848 0.3000
Ahsan, I think parfor might be what you're looking for. It requires the Parallel Computing Toolbox (PCT) to use. It works like this: parfor i = 1:length(P) Object1.position = P(i,:); end Also, I would recommend using indexed structure fields, as I've done in the example below, as it increases the flexibility of any code that you write. Let me know if this doesn't work for you, and we'll try something else. I know another technique, but it's much messier. Good luck! parfor i = 1:length(P) Object(i).position = P(i,:); end Edit: Ok, this may not work because parfor is pretty particular. But it the general concept should apply to the problem you're trying to solve. I can't be more specific without knowing more about your specific problem. The key point is, inside a parfor, you must iterate something (Object, below) by the parfors iterator (i, below) and assign that thing a value. I'm not sure if you can use a for-loop inside a parfor, so the first example below may break. The point is, this is how you do parallel processing in MATLAB. Try this: parfor i = 1:4 Object(i).position = P(i,:); end Edit 2: parfor i = length(P) Object1 = struct(); Object1.position = P(i, :); end Edit 3: Ok, one last thing. You can't use "sliced" structs (structs with fields) as input or output from a parfor so you have to do this: parfor i = 1:length(P) positionArray1(i) = P(i, :); end Object1 = struct('position', positionArray1);
Copula Value At Risk
Has anyone of you any experience in copula Value At Risk with Matlab? In Matlab I've written this code: copula='Normale, Normale'; B=handles.array; [~, n]=size(handles.array); for i=1:n phat(:,i)=mle(handles.array(:,i)) end p_1=normcdf(handles.array(:,1), phat(1,1), phat(2,1)); p_2=normcdf(handles.array(:,2), phat(1,2), phat(2,2)); handles.p1=p_1; handles.p2=p_2; handles.matrici.Mdati=[handles.array handles.port p_1 p_2]; U=[handles.p1 handles.p2]; handles.U=U; guidata(handles.figure1, handles); and copula='Normale'; RHOHAT=copulafit('Gaussian', handles.U); figure(1) scatterhist(handles.U(:,1), handles.U(:,2)); for i=1:100 U=copularnd('Gaussian', RHOHAT, 10000); X=[norminv(U(:,1),0,1) norminv(U(:,2),0,1)]; port_ret=X*handles.w'; axes(handles.axes1) plot(port_ret, 'k') legend('Rendimenti simulati') My problem is I don't want a single value for VaR but n values to be plotted against returns. Can anyone help me??