資源簡介
利用C#實現了布爾莎模型中7個參數的求解,最小二乘法,程序中包含了矩陣轉置、矩陣求乘積、矩陣求逆三個類,本人親測。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
namespace?七參數求解
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
???????????
????????????double?xa1?=?Convert.ToDouble(XA1.Text)?;
????????????double?xa2?=?Convert.ToDouble(XA2.Text);
????????????double?xa3?=?Convert.ToDouble(XA3.Text);
????????????double?ya1?=?Convert.ToDouble(YA1.Text);
????????????double?ya2?=?Convert.ToDouble(YA2.Text);
????????????double?ya3?=?Convert.ToDouble(YA3.Text);
????????????double?za1?=?Convert.ToDouble(ZA1.Text);
????????????double?za2?=?Convert.ToDouble(ZA2.Text);
????????????double?za3?=?Convert.ToDouble(ZA3.Text);
????????????double?xb1?=?Convert.ToDouble(XB1.Text);
????????????double?xb2?=?Convert.ToDouble(XB2.Text);
????????????double?xb3?=?Convert.ToDouble(XB3.Text);
????????????double?yb1?=?Convert.ToDouble(YB1.Text);
????????????double?yb2?=?Convert.ToDouble(YB2.Text);
????????????double?yb3?=?Convert.ToDouble(YB3.Text);
????????????double?zb1?=?Convert.ToDouble(ZB1.Text);
????????????double?zb2?=?Convert.ToDouble(ZB2.Text);
????????????double?zb3?=?Convert.ToDouble(ZB3.Text);
????????????double[]?K?=?new?double[]?{?
????????????{?1000-za1ya1xa1?}?{?010za10-xa1ya1}?{?001-ya1xa10za1}?
????????????{?1000-za2ya2xa2}?{010za20-xa2ya2?}?{001-ya2xa20za2?}
????????????{1000-za3ya3xa3?}{010za30-xa3ya3?}?{?001-ya3xa30za3}?};
????????????double?v1?=?xb1?-?xa1;
????????????double?v2?=?yb1?-?ya1;
????????????double?v3?=?zb1?-?za1;
????????????double?v4?=?xb2?-?xa2;
????????????double?v5?=?yb2?-?ya2;
????????????double?v6?=?zb2?-?za2;
????????????double?v7?=?xb3?-?xa3;
????????????double?v8?=?yb3?-?ya3;
????????????double?v9?=?zb3?-?za3;
????????????double[]?V?=?new?double[]?{?{v1}{v2}{v3}{v4}{v5}{v6}{v7}{v8}{v9}};
????????????Transpose?Tr?=?new?Transpose(K?9?7);
????????????double[]?TrT?=?Tr.transpose();
????????????Multiply?M?=?new?Multiply(TrT?K?7?9?9?7);
????????????double[]?TrTK?=?M.multiply();
????????????Inverse?I?=?new?Inverse(TrTK?7?7);
????????????double[]?InverseTrTK?=?I.inverse();
????????????Multiply?M1?=?new?Multiply(InverseTrTKTrT7779);
????????????double[]?X?=?M1.multiply();
????????????Multiply?M2?=?new?Multiply(XV7991);
????????????double[]?XX?=?M2.multiply();
????????????Tx.Text?=?Convert.ToString(XX[0?0]);
????????????Ty.Text?=?Convert.ToString(XX[1?0]);
????????????Tz.Text?=?Convert.ToString(XX[2?0]);
????????????Wx.Text?=?Convert.ToString(XX[3?0]);
????????????Wy.Text?=?Convert.ToString(XX[4?0]);
????????????Wz.Text?=?Convert.ToString(XX[5?0]);
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????187??2014-11-30?14:09??七參數求解\七參數求解\App.config
?????文件??????23040??2014-12-01?15:53??七參數求解\七參數求解\bin\Debug\七參數求解.exe
?????文件????????187??2014-11-30?14:09??七參數求解\七參數求解\bin\Debug\七參數求解.exe.config
?????文件??????52736??2014-12-01?15:53??七參數求解\七參數求解\bin\Debug\七參數求解.pdb
?????文件??????22984??2014-12-01?15:54??七參數求解\七參數求解\bin\Debug\七參數求解.vshost.exe
?????文件????????187??2014-11-30?14:09??七參數求解\七參數求解\bin\Debug\七參數求解.vshost.exe.config
?????文件???????3101??2014-12-01?15:53??七參數求解\七參數求解\Form1.cs
?????文件??????34071??2014-12-01?15:53??七參數求解\七參數求解\Form1.Designer.cs
?????文件???????5817??2014-12-01?15:53??七參數求解\七參數求解\Form1.resx
?????文件???????3500??2014-12-01?15:37??七參數求解\七參數求解\Inverse.cs
?????文件???????1381??2014-12-01?13:38??七參數求解\七參數求解\Multiply.cs
?????文件????????863??2014-11-30?14:09??七參數求解\七參數求解\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7107??2014-12-01?15:42??七參數求解\七參數求解\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件??????????0??2014-11-30?14:09??七參數求解\七參數求解\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2014-11-30?14:09??七參數求解\七參數求解\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2014-11-30?14:09??七參數求解\七參數求解\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件???????1068??2014-12-01?15:54??七參數求解\七參數求解\obj\Debug\七參數求解.csproj.FileListAbsolute.txt
?????文件????????975??2014-12-01?15:53??七參數求解\七參數求解\obj\Debug\七參數求解.csproj.GenerateResource.Cache
?????文件???????2209??2014-11-30?14:18??七參數求解\七參數求解\obj\Debug\七參數求解.csprojResolveAssemblyReference.cache
?????文件??????23040??2014-12-01?15:53??七參數求解\七參數求解\obj\Debug\七參數求解.exe
?????文件????????180??2014-12-01?15:53??七參數求解\七參數求解\obj\Debug\七參數求解.Form1.resources
?????文件??????52736??2014-12-01?15:53??七參數求解\七參數求解\obj\Debug\七參數求解.pdb
?????文件????????180??2014-12-01?15:42??七參數求解\七參數求解\obj\Debug\七參數求解.Properties.Resources.resources
?????文件????????527??2014-11-30?14:09??七參數求解\七參數求解\Program.cs
?????文件???????1368??2014-11-30?14:09??七參數求解\七參數求解\Properties\AssemblyInfo.cs
?????文件???????2882??2014-11-30?14:09??七參數求解\七參數求解\Properties\Resources.Designer.cs
?????文件???????5612??2014-11-30?14:09??七參數求解\七參數求解\Properties\Resources.resx
?????文件???????1102??2014-11-30?14:09??七參數求解\七參數求解\Properties\Settings.Designer.cs
?????文件????????249??2014-11-30?14:09??七參數求解\七參數求解\Properties\Settings.settings
?????文件????????875??2014-12-01?13:11??七參數求解\七參數求解\Transpose.cs
............此處省略15個文件信息
- 上一篇:C#+ArcEngine9.3基本功能開發源碼
- 下一篇:VS2010C#串口通信
評論
共有 條評論