永发信息网

在vb中,关于矩阵赋值和计算的问题

答案:3  悬赏:70  手机版
解决时间 2021-02-03 04:04
  • 提问者网友:黑米和小志
  • 2021-02-02 15:40
我利用一定的算法得到了九个值,这九个值想赋给一个3阶矩阵。这些我都会。但是这里我是利用循环得到的,并且有很多个值,怎么得到很多矩阵呢。部分程序如下:
Private Sub Command2_Click()

Dim i As Integer
Dim px(0 To 136) As Double
Dim py(0 To 136) As Double
Dim pz(0 To 136) As Double
Dim a(1 To 3) As Double

Open "E:\weldingpoint.txt" For Input As #1
Open "E:\posture.txt" For Output As #2
For i = 0 To 136
Input #1, px(i), py(i), pz(i)
Next i

For i = 0 To 135
Target.nx(i) = px(i + 1) - px(i)
Target.ny(i) = py(i + 1) - py(i)
Target.nz(i) = pz(i + 1) - pz(i)
Next i

For i = 0 To 135
Target.ax(i) = 0
Target.ay(i) = 0
Target.az(i) = -1
Next i

For i = 0 To 135
Target.ox(i) = py(i) - py(i + 1)
Target.oy(i) = px(i + 1) - px(i)
Target.oz(i) = 0
Next i

走到这里,我想把这些Target值赋给一个3阶矩阵。nx、ny、nz为一列,ox、oy、oz为一列,ax、ay、az为一列。从程序里也可以看出有很多个3阶矩阵吧,但是都是可以编程得到的。哪位高人给指点一下啊,我头发都快愁白了……在线等待!
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-02-02 15:49
Private Sub Command1_Click()
Dim i As Integer
Dim px(0 To 136) As Double
Dim py(0 To 136) As Double
Dim pz(0 To 136) As Double

For i = 0 To 136 '生成随机模拟数据
px(i) = Int(Rnd * 1000)
py(i) = Int(Rnd * 1000)
pz(i) = Int(Rnd * 1000)
Next

For i = 0 To 135 '按矩阵结构分布的数据;
Debug.Print px(i + 1) - px(i), 0, py(i) - py(i + 1)
Debug.Print py(i + 1) - py(i), 0, px(i + 1) - px(i)
Debug.Print pz(i + 1) - pz(i), -1, 0
Debug.Print "---------------------------------------"
Next
End Sub

以下是运行后的部分示例结果:希望对你有帮助
---------------------------------------
-68 0 419
-419 0 -68
-61 -1 0
---------------------------------------
-301 0 -667
667 0 -301
-235 -1 0
---------------------------------------
212 0 597
-597 0 212
-17 -1 0
---------------------------------------
-460 0 270
-270 0 -460
328 -1 0
---------------------------------------
774 0 -465
465 0 774
62 -1 0
---------------------------------------
13 0 325
-325 0 13
-116 -1 0
---------------------------------------
-577 0 -64
64 0 -577
125 -1 0
---------------------------------------
-257 0 -236
236 0 -257
462 -1 0
---------------------------------------
419 0 -392
392 0 419
-308 -1 0
---------------------------------------
-116 0 217
-217 0 -116
-593 -1 0
---------------------------------------
315 0 -8
8 0 315
433 -1 0
---------------------------------------
-601 0 477
-477 0 -601
-171 -1 0
---------------------------------------
629 0 173
-173 0 629
192 -1 0
---------------------------------------
-27 0 -750
750 0 -27
-193 -1 0
---------------------------------------
215 0 -4
4 0 215
349 -1 0
---------------------------------------
-67 0 -71
71 0 -67
-258 -1 0
---------------------------------------
-782 0 -79
79 0 -782
381 -1 0
---------------------------------------
573 0 553
-553 0 573
-781 -1 0
---------------------------------------
-529 0 237
-237 0 -529
493 -1 0
---------------------------------------
239 0 58
-58 0 239
-233 -1 0
---------------------------------------
237 0 -743
743 0 237
221 -1 0
---------------------------------------
-456 0 -47
47 0 -456
-125 -1 0
---------------------------------------
136 0 126
-126 0 136
-154 -1 0
---------------------------------------
123 0 534
-534 0 123
660 -1 0
---------------------------------------
164 0 -138
138 0 164
-489 -1 0
---------------------------------------
250 0 -211
211 0 250
542 -1 0
---------------------------------------
-343 0 255
-255 0 -343
-63 -1 0
---------------------------------------
-258 0 71
-71 0 -258
-690 -1 0
---------------------------------------
87 0 257
-257 0 87
564 -1 0
---------------------------------------
494 0 -276
276 0 494
-40 -1 0
---------------------------------------
-436 0 -533
533 0 -436
39 -1 0
---------------------------------------
33 0 734
-734 0 33
-331 -1 0
---------------------------------------
-98 0 -633
633 0 -98
-98 -1 0
---------------------------------------
459 0 559
-559 0 459
280 -1 0
---------------------------------------
158 0 -92
92 0 158
347 -1 0
---------------------------------------
-842 0 -741
741 0 -842
-307 -1 0
---------------------------------------
484 0 82
-82 0 484
-58 -1 0
---------------------------------------
-353 0 42
-42 0 -353
-500 -1 0
---------------------------------------
193 0 101
-101 0 193
171 -1 0
---------------------------------------
-60 0 362
-362 0 -60
281 -1 0
---------------------------------------
-108 0 -184
184 0 -108
-317 -1 0
---------------------------------------
-192 0 -314
314 0 -192
-98 -1 0
---------------------------------------
574 0 -5
5 0 574
120 -1 0
---------------------------------------
297 0 54
-54 0 297
210 -1 0
---------------------------------------
-457 0 77
-77 0 -457
393 -1 0
---------------------------------------
-110 0 574
-574 0 -110
-508 -1 0
---------------------------------------
31 0 43
-43 0 31
293 -1 0
---------------------------------------
-314 0 -53
53 0 -314
73 -1 0
---------------------------------------
405 0 22
-22 0 405
299 -1 0
---------------------------------------
全部回答
  • 1楼网友:末日狂欢
  • 2021-02-02 18:20
Private Sub Command1_Click() Dim i As Integer Dim px(0 To 136) As Double Dim py(0 To 136) As Double Dim pz(0 To 136) As Double For i = 0 To 136 '生成随机模拟数据 px(i) = Int(Rnd * 1000) py(i) = Int(Rnd * 1000) pz(i) = Int(Rnd * 1000) Next For i = 0 To 135 '按矩阵结构分布的数据; Debug.Print px(i + 1) - px(i), 0, py(i) - py(i + 1) Debug.Print py(i + 1) - py(i), 0, px(i + 1) - px(i) Debug.Print pz(i + 1) - pz(i), -1, 0 Debug.Print "---------------------------------------" Next End Sub 以下是运行后的部分示例结果:希望对你有帮助 --------------------------------------- -68 0 419 -419 0 -68 -61 -1 0 --------------------------------------- -301 0 -667 667 0 -301 -235 -1 0 --------------------------------------- 212 0 597 -597 0 212 -17 -1 0 --------------------------------------- -460 0 270 -270 0 -460 328 -1 0 --------------------------------------- 774 0 -465 465 0 774 62 -1 0 --------------------------------------- 13 0 325 -325 0 13 -116 -1 0 --------------------------------------- -577 0 -64 64 0 -577 125 -1 0 --------------------------------------- -257 0 -236 236 0 -257 462 -1 0 --------------------------------------- 419 0 -392 392 0 419 -308 -1 0 --------------------------------------- -116 0 217 -217 0 -116 -593 -1 0 --------------------------------------- 315 0 -8 8 0 315 433 -1 0 --------------------------------------- -601 0 477 -477 0 -601 -171 -1 0 --------------------------------------- 629 0 173 -173 0 629 192 -1 0 --------------------------------------- -27 0 -750 750 0 -27 -193 -1 0 --------------------------------------- 215 0 -4 4 0 215 349 -1 0 --------------------------------------- -67 0 -71 71 0 -67 -258 -1 0 --------------------------------------- -782 0 -79 79 0 -782 381 -1 0 --------------------------------------- 573 0 553 -553 0 573 -781 -1 0 --------------------------------------- -529 0 237 -237 0 -529 493 -1 0 --------------------------------------- 239 0 58 -58 0 239 -233 -1 0 --------------------------------------- 237 0 -743 743 0 237 221 -1 0 --------------------------------------- -456 0 -47 47 0 -456 -125 -1 0 --------------------------------------- 136 0 126 -126 0 136 -154 -1 0 --------------------------------------- 123 0 534 -534 0 123 660 -1 0 --------------------------------------- 164 0 -138 138 0 164 -489 -1 0 --------------------------------------- 250 0 -211 211 0 250 542 -1 0 --------------------------------------- -343 0 255 -255 0 -343 -63 -1 0 --------------------------------------- -258 0 71 -71 0 -258 -690 -1 0 --------------------------------------- 87 0 257 -257 0 87 564 -1 0 --------------------------------------- 494 0 -276 276 0 494 -40 -1 0 --------------------------------------- -436 0 -533 533 0 -436 39 -1 0 --------------------------------------- 33 0 734 -734 0 33 -331 -1 0 --------------------------------------- -98 0 -633 633 0 -98 -98 -1 0 --------------------------------------- 459 0 559 -559 0 459 280 -1 0 --------------------------------------- 158 0 -92 92 0 158 347 -1 0 --------------------------------------- -842 0 -741 741 0 -842 -307 -1 0 --------------------------------------- 484 0 82 -82 0 484 -58 -1 0 --------------------------------------- -353 0 42 -42 0 -353 -500 -1 0 --------------------------------------- 193 0 101 -101 0 193 171 -1 0 --------------------------------------- -60 0 362 -362 0 -60 281 -1 0 --------------------------------------- -108 0 -184 184 0 -108 -317 -1 0 --------------------------------------- -192 0 -314 314 0 -192 -98 -1 0 --------------------------------------- 574 0 -5 5 0 574 120 -1 0 --------------------------------------- 297 0 54 -54 0 297 210 -1 0 --------------------------------------- -457 0 77 -77 0 -457 393 -1 0 --------------------------------------- -110 0 574 -574 0 -110 -508 -1 0 --------------------------------------- 31 0 43 -43 0 31 293 -1 0 --------------------------------------- -314 0 -53 53 0 -314 73 -1 0 --------------------------------------- 405 0 22 -22 0 405 299 -1 0 --------------------------------------- 回答者: Tylz81 | 三级 | 2010-12-31 12:24 转发到: hylmb一级我的提问 我的回答 积分商城 (0)条消息等待处理 今天你做任务了没?全部任务新手任务之回答篇 +20.新手任务之入门篇.新年4-1行动.扬帆起航 +660..进入个人中心 使用百度Hi可以第一时间收到“提问有新回答”“回答被采纳”“网友求助”的通知。查看详情 您想在自己的网站上展示百度“知道”上的问答吗?来获取免费代码吧! 如要投诉或提出意见建议, 请到百度知道投诉吧反馈。 ©2011 Baidu 使用百度前必读 知道协议 任务提醒x
  • 2楼网友:忘川信使
  • 2021-02-02 17:20
选此为答案。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯