C#,数值计算——偏微分方程,谱方法的微分矩阵的计算方法与源程序

news2024/11/25 2:41:36

1 文本格式

using System;

namespace Legalsoft.Truffer
{
    /// <summary>
    /// 谱方法的微分矩阵
    /// Differentiation matrix for spectral methods
    /// </summary>
    public class Weights
    {
        public Weights()
        {
        }

        public static void weights(double z, double[] x, double[,] c)
        {
            int n = c.GetLength(0) - 1;
            int m = c.GetLength(1) - 1;
            double c1 = 1.0;
            double c4 = x[0] - z;
            for (int k = 0; k <= m; k++)
            {
                for (int j = 0; j <= n; j++)
                {
                    c[j, k] = 0.0;
                }
            }
            c[0, 0] = 1.0;
            for (int i = 1; i <= n; i++)
            {
                int mn = Math.Min(i, m);
                double c2 = 1.0;
                double c5 = c4;
                c4 = x[i] - z;
                for (int j = 0; j < i; j++)
                {
                    double c3 = x[i] - x[j];
                    c2 = c2 * c3;
                    if (j == i - 1)
                    {
                        for (int k = mn; k > 0; k--)
                        {
                            c[i, k] = c1 * (k * c[i - 1, k - 1] - c5 * c[i - 1, k]) / c2;
                        }
                        c[i, 0] = -c1 * c5 * c[i - 1, 0] / c2;
                    }
                    for (int k = mn; k > 0; k--)
                    {
                        c[j, k] = (c4 * c[j, k] - k * c[j, k - 1]) / c3;
                    }
                    c[j, 0] = c4 * c[j, 0] / c3;
                }
                c1 = c2;
            }
        }

    }
}
 

2 代码格式

using System;

namespace Legalsoft.Truffer
{
    /// <summary>
    /// 谱方法的微分矩阵
    /// Differentiation matrix for spectral methods
    /// </summary>
    public class Weights
    {
        public Weights()
        {
        }

        public static void weights(double z, double[] x, double[,] c)
        {
            int n = c.GetLength(0) - 1;
            int m = c.GetLength(1) - 1;
            double c1 = 1.0;
            double c4 = x[0] - z;
            for (int k = 0; k <= m; k++)
            {
                for (int j = 0; j <= n; j++)
                {
                    c[j, k] = 0.0;
                }
            }
            c[0, 0] = 1.0;
            for (int i = 1; i <= n; i++)
            {
                int mn = Math.Min(i, m);
                double c2 = 1.0;
                double c5 = c4;
                c4 = x[i] - z;
                for (int j = 0; j < i; j++)
                {
                    double c3 = x[i] - x[j];
                    c2 = c2 * c3;
                    if (j == i - 1)
                    {
                        for (int k = mn; k > 0; k--)
                        {
                            c[i, k] = c1 * (k * c[i - 1, k - 1] - c5 * c[i - 1, k]) / c2;
                        }
                        c[i, 0] = -c1 * c5 * c[i - 1, 0] / c2;
                    }
                    for (int k = mn; k > 0; k--)
                    {
                        c[j, k] = (c4 * c[j, k] - k * c[j, k - 1]) / c3;
                    }
                    c[j, 0] = c4 * c[j, 0] / c3;
                }
                c1 = c2;
            }
        }

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1183927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单调栈及其应用

1. 单调栈 应用场景&#xff1a;求解下一个更大/小的数原理&#xff1a;空间换时间&#xff0c;暴力解法O&#xff08;n&#xff09;单调栈作用&#xff1a;记录遍历过的元素&#xff0c;与当前元素进行对比 模板:求解左边比它更小的元素 单调递增的栈&#xff08;底——》顶…

Python的asyncio库:掌握异步编程的利器

目录 一、引言 二、异步编程概述 三、asyncio库的使用方法 1、导入asyncio库 2、创建异步函数 3、创建事件循环 4、运行异步任务 5、关闭事件循环 四、asyncio库的高级用法 1、异步上下文管理器 2、协程函数和协程变量的共享状态 五、注意事项 六、总结 一、引言 …

数字孪生技术助力水务行业实现智能化

在当今数字化时代&#xff0c;水务行业也积极迎接变革&#xff0c;数字孪生技术正成为该行业的一项重要助力。数字孪生不仅帮助水务行业实现智能化发展&#xff0c;还提供了许多重要的优势&#xff0c;为水资源管理、供水系统运营和环境保护等方面带来了巨大的改变。水务行业面…

阿里云服务器云盘性能IOPS和吞吐量说明SSD、ESSD和高效

阿里云服务器系统盘或数据盘支持多种云盘类型&#xff0c;如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等&#xff0c;阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

PHP分类信息网站源码系统 电脑+手机+微信端三合一 带完整前后端部署教程

大家好啊&#xff01;今天源码小编来给大家分享一款PHP分类信息网站类源码系统。这款源码系统是一套专业的信息发布类网站综合管理系统&#xff0c;适合各类地方信息和行业分类站点建站。随着这几年我们国家网民爆炸式的增 长&#xff0c;网络信息也随之越来越庞大&#xff0c;…

全国5米高程DEM数据及衍生的全国地形起伏度数据

地表起伏度&#xff0c;也有称为地势起伏度、地形起伏度&#xff0c;是指某点在其确定面积的域内的最高点与最低点之间的高差。地表起伏度概念的核心在于如何确定该点的计算域。在统计意义上&#xff0c;随着计算域范围的增大&#xff0c;地表起伏度将逐渐增大。 因此&#xff…

【Python自学笔记】Flask调教方法Internel Server Error

收到老师的小组作业任务说是写一个自动报告程序&#xff0c;用PythonSQLiteHTML实现&#xff0c;好吧。 前面没什么问题&#xff0c;打开VSCode&#xff0c;连数据库读数据处理可视化模板拼凑&#xff0c;最后调用Flask框架出网页报告的时候总报错连接不了。 但换了jinjia2的渲…

水利部加快推进小型水库除险加固,大坝安全监测是重点

国务院常务会议明确到2025年前&#xff0c;完成新出现病险水库的除险加固&#xff0c;配套完善重点小型水库雨水情和安全监测设施&#xff0c;实现水库安全鉴定和除险加固常态化。 为加快推进小型水库除险加固前期工作&#xff0c;水利部协调财政部提前下达了2023年度中央补助…

事业单位如何完成新闻宣传发稿考核任务

新闻宣传作为事业单位对外展示形象、传达政策、沟通信息的重要手段&#xff0c;其效果直接关系到单位的声誉和形象。许多事业单位会设立新闻宣传考核任务&#xff0c;同样作为单位宣传口的公务人员面临考核&#xff0c;也关系到机关事业单位的年度绩效和排名。 首先需要确保清楚…

【亚马逊云科技产品测评】活动征文|10分钟拥有一台AWS Linux系统

前言 在数字化时代&#xff0c;AWS云服务扮演着至关重要的角色。AWS&#xff08;Amazon Web Services&#xff09;是亚马逊公司旗下的云计算服务平台&#xff0c;为全球各地的企业、组织和个人开发者提供了一系列广泛而深入的云服务。 在AWS云服务中&#xff0c;计算、存储、数…

idea 模板参数注释 {@link}

1. 新增组 2. 设置方法注释及变量 增加模板文本 ** * $param$ * return {link $return$} */3. 设置变量表达式 勾选跳过param 参数表达式 groovyScript("def result ;def params \"${_1}\".replaceAll([\\\\[|\\\\]|\\\\s], ).split(,).toList();def param…

迅睿cms前台页面的会员登入和退出

迅睿cms前台页面的会员登入和退出 前端代码&#xff1a; {if $member} 登录用户名&#xff1a;{$member.username} {else} 没有登录 <a href"{dr_member_url(register/index)}" class"btn dark btn-outline btn-xs">用户注册</a> <…

JavaScript使用数组

数组(Array)是有序数据集合&#xff0c;具有复合型结构&#xff0c;属于引用型数据。数组的结构具有弹性&#xff0c;能够自动伸缩。数组长度可读可写&#xff0c;能够动态控制数组的结构。数组中每个值称为元素&#xff0c;通过下标可以索引元素的值&#xff0c;对元素的类型没…

腾讯、巨量等头部营销平台方法论

媒体、营销与市场生态正处于新一轮变革期&#xff0c;尤其是进入移动互联网时代后&#xff0c;行业话语权由创意人转向互联网人&#xff0c;营销的风向与规则&#xff0c;也越来越由掌握流量与资源的头部平台引领。 巨变之下&#xff0c;企业只有从本质层面&#xff0c;认清变…

文件传输|如何将100多G文件跨国安全传输到客户手里呢?

信息时代的高速发展&#xff0c;特别是跨国交易企业&#xff0c;很需要频繁地在跨国或跨地区间传递各类文件&#xff0c;如照片、视频、音频、文档、压缩包等。比如企业用户需要与海外的合作伙伴、供应商、客户传递合同文本、产品设计、市场分析等。然而&#xff0c;跨国文件传…

javaSSMMYSQL中学成绩管理系统98575- 计算机毕业设计项目选题推荐(附源码)

目 录 摘要 1 绪论 1.1背景及意义 1.2开发现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2 中学成绩管理系统分析 2.1 可行性分析 2.2 系统业务流程分析 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 中学成绩管…

Win10笔记本开热点后电脑断网的解决方法

在Win10笔记本电脑中用户可以随时打开热点&#xff0c;但是发现热点开启后电脑就会断网&#xff0c;网络不稳定就会影响到用户的正常使用。下面小编给大家介绍两种简单的解决方法&#xff0c;解决后用户在Win10笔记本电脑开热点就不会有断网的问题出现了。 具体解决方法如下&am…

Java 数据结构篇-实现双链表的核心API

&#x1f525;博客主页&#xff1a; 小扳_-CSDN博客 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 双链表的说明 1.1 双链表 - 创建 1.2 双链表 - 根据索引查找节点 1.3 双链表 - 根据索引插入节点 1.4 双链表 - 头插节点 1.5 双链表 - 尾插 1.6 双链表 - 根据索引来…

VS Code Counter统计代码量(vscode扩展工具)

1.VS Code Counter 该vscode扩展工具用于统计代码行数以及代码量等信息。 2. 安装 既可以点击左侧扩展图标&#xff0c;也可以 ShiftCtrlX vscode快捷命令打开扩展&#xff1a;商店&#xff0c;然后在商店中搜索 VS Code Counter&#xff0c;并点击安装。 3. 使用 使用时用…

ggrcs包3.5版本发布—增加了大家喜闻乐见的P for overall和主题色彩定制

目前本人写的ggrcs包新的3.5版本已经在CRAN上线&#xff0c;目前支持逻辑回归&#xff08;logistic回归&#xff09;、cox回归和多元线性回归。 需要的可以使用代码安装 install.packages("ggrcs")如果原来安装了旧版本&#xff0c;可以通过Rstudio进行升级 这样就…